英语在软件行业的重要作用不言自明,尤其是做国际项目和写国际软件,好的英语表达是项目顺利进行的必要条件。纵观眼下的IT行业。可以流利的与国外客户英文口语交流的程序猿占比并非非常高。要想去国际接轨,语言这一关一定要过。

本人做刚入行的时候非常想找一本专门写给程序猿的英文教材,但并没有找到特别合适的。通过这几年的欧美项目经理,我发现与国外同行交流重在表明交流的意图而轻语法规定。一件事情的表述,仅仅要可以用几个Key Words来表述清楚。两方可以理解就可以。并没有使用我们上学期间艰深晦涩的语法知识。

既然这样,词汇量就变得更加重要了。

这几年一直在做与Android源代码相关的事,对于开源项目的学习,Linus说的好。我们仅仅有Read The F**king Source Code才可以真正的领悟项目的真谛。

在我阅读的过程中不断有些非常好的单词或表达方式,我们在今后的项目沟通中可以使用它。毕竟这还是比較原汁原味的表达呢。

我准备把这些单词记录下来,对照通常的表达形式和在源代码凝视中的使用来更加深刻的学习它们。我仅仅是随机的将单词写出来,并没有遵循一定的规则。

以下是今天的5个词。

1.recipient

词典中的释义:

recipient[英][rɪ'sɪpɪənt][美][rɪˈsɪpiənt]
n.接受者; 接收者;容器; 容纳者; 
adj.easy接受的; 感受性强的; 
复数:recipients

例句:This site lets you set a date for delivery, making it easier to surprise your recipient.

源代码中的使用:

在Binder源代码中意思为接受者。在IBinder.java中有个接口叫作DeathRecipient,用来作为binder死亡通知的接受者。

用linkToDeath方法的凝视来作为例句:

Register the recipient for a notification if this binder goes away.

假设binder退出就通知注冊的接受者(register这里是动词注冊的意思。此句这样翻译个人认为好理解一些)。

在TelephonyManager.java中也译作接受者|接收者。比如例如以下:

Each of these URI schema carry the recipient information the same way: the path part of the URI contains the recipient's phone number or a comma-separated set of phone numbers if there are multiple recipients.

2.antagonize

词典中的释义:

antagonize[英][ænˈtægənaɪz][美][ænˈtæɡəˌnaɪz]
vt.使成为敌人; 引起…敌对[对抗]; 对…起反作用; 中和;

例句:No company can afford to antagonize China.

源代码中的使用:

抱歉。明明是在源代码中看见的,如今居然找不到了。

3.sink

词典中的释义:

sink[英][sɪŋk][美][sɪŋk]
vi.淹没; 下落; 退去; 渐渐进入; 
vt.使下沉; 使下垂; 砸入地面; 使败落; 
n.水池; 洗涤槽; 污水坑; 
第三人称单数:sinks;过去分词:sunk;复数:sinks;如今进行时:sinking;过去式:sank

例句:Wood does not sink in water.

源代码中使用:

在音视频相关句子中我认为应该作水池|池讲。如子AudioTrack.java中:

It allows streaming of PCM audio buffers to the audio sink for playback.

它同意PCM音频缓冲区中的流向音频池中写入以用来播放。

4.track

词典中的释义:

track[英][træk][美][træk]
n.小路,小道; 痕迹,踪迹; 轨道。音轨; 方针,路线; 
vt.跟踪; 监看。监測; 追踪; 
vi.沿着轨道前进; 沿着一条路走,旅行; 位于一队列中; 
第三人称单数:tracks;过去分词:tracked;复数:tracks;如今进行时:tracking;过去式:tracked

例句:You'll find your train at track 8. 你会在8号轨道找到你的列车。

源代码中使用:

常见在音频系统中,译作音轨。如AdudioTrack.java中getLatency的凝视:

Returns this track's estimated latency in milliseconds. 以毫秒为单位返回这个音轨估计的延迟。

estimated[英]['estɪmetɪd][美]['estɪmetɪd]
adj.估计的; 估计的; 估算的;

latency[英]['leɪtənsɪ][美][ˈletn:si]
n.潜伏; 潜在因素; 延迟

5.offload

词典中的释义:

offload[英][ˌɒf'ləʊd][美][ˈɔfˌlod, ˈɑf-]
v.卸下,卸货; 
第三人称单数:offloads;过去分词:offloaded;如今进行时:offloading;过去式:offloaded

源代码中使用:

AudioFlinger::PlaybackThread::Track::flush() 方法在Tracks.cpp中有以下的凝视,仍作卸载译。

Prevent flush being lost if the track is flushed and then resumed before mixer thread can run.This is important when offloading because the hardware buffer could hold a large amount of audio.

 751         // Prevent flush being lost if the track is flushed and then resumed
752 // before mixer thread can run. This is important when offloading
753 // because the hardware buffer could hold a large amount of audio
754 playbackThread->flushOutput_l();
755 playbackThread->broadcast_l();

这句有些难翻译,我尝试我的理解(有不同的见解还望指点):

假设音轨已经运行过flush(我认为译为清除和清空较好)了而且恢复之前混音器(mixer)的线程可以运行的时候可以防止flush丢失(未运行)。

当卸载的时候这非常重要。由于硬件缓冲可以容纳大量的音频。

flush[英][flʌʃ][美][flʌʃ]
vi.脸红; 呈红色; 奔流; 冲刷; 
adj.满面红光的; 富足的,丰富的; 盈满的。没过的; 水平的,同高的; 
n.奔流,涌出; 脸红或发亮; 发热; 强烈情感的冲动; 
vt.发红或发亮; 使兴奋或得意; (以水)冲刷,冲洗; 冲掉。除掉;

Learning English From Android Source Code:1的更多相关文章

  1. Learning English From Android Source Code:2 Ampersand

    这一次想把标点符号的英语表达总结一下,这些单词非常重要但easy被我们忽视.以我的经验,还是多认识几个.以备不时之需. 以下从"标点符号"開始: punctuation [英][ˌ ...

  2. Learning from the CakePHP source code - Part I

    最近开始痛定思痛,研究cakephp的源码. 成长的路上从来没有捷径,没有小聪明. 只有傻傻的努力,你才能听到到成长的声音. 下面这篇文章虽然过时了,但是还是可以看到作者的精神,仿佛与作者隔着时空的交 ...

  3. Troubles in Building Android Source Code

    Some Troubles or problems you may encounter while you setup the Android source code build environmen ...

  4. Android Source Code

    一. Android 框架 http://elinux.org/Master-android Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各 ...

  5. Learning from the CakePHP source code - Part II

    原文:http://debuggable.com/posts/learning-from-the-cakephp-source-code-part-ii:480f4dd6-57fc-4715-8709 ...

  6. Google android source code build 问题总结【转】

    本文转载自:http://light3moon.com/2015/01/31/Google%20android%20source%20code%20build%20%E9%97%AE%E9%A2%98 ...

  7. Increasing heap size while building the android source code on Ubuntu 15.10

    http://stackoverflow.com/questions/34940793/increasing-heap-size-while-building-the-android-source-c ...

  8. Android source code compile error: “Try increasing heap size with java option '-Xmx<size>'”

    export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g" ./pr ...

  9. android activity 启动过程分析(source code 4.4)

    说实话,android source code从2.3到4.4变化是蛮多的,尤其是media部分,虽然总的框架是没有多大变化,但是找起代码来看还是挺麻烦的.在android里面最受伤的是使用了java ...

随机推荐

  1. Codeforces 1051E Vasya and Big Integers&1051F The Shortest Statement

    1051E. Vasya and Big Integers 题意 给出三个大整数\(a,l,r\),定义\(a\)的一种合法的拆分为把\(a\)表示成若干个字符串首位相连,且每个字符串的大小在\(l, ...

  2. 最封闭的开源系统,话说Android的八宗罪

    最封闭的开源系统,话说Android的八宗罪 http://www.ifanr.com/9833 Android 分裂的多面性 http://tech.cncms.com/shouji/android ...

  3. bzoj 4874: 筐子放球

    4874: 筐子放球 Time Limit: 10 Sec  Memory Limit: 256 MB Description 小N最近在研究NP完全问题,小O看小N研究得热火朝天,便给他出了一道这样 ...

  4. bzoj 1211: [HNOI2004]树的计数 -- purfer序列

    1211: [HNOI2004]树的计数 Time Limit: 10 Sec  Memory Limit: 162 MB Description 一个有n个结点的树,设它的结点分别为v1, v2, ...

  5. 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法

    先来看问题    纠结了几个小时终于找到了问题所在,因为shiro的realm属于Filter,简单说就是初始化realm时,spring还未加载相关业务Bean,那么解决办法就是将springmvc ...

  6. STM32F401

    The STM32F401 line is the entry level to the STM32 F4 series. It is designed for medical, industrial ...

  7. artDialog双击会关闭对话框的修改

    artDialog,一个jquery的对话框插件,很好用的说 但是在使用时发现鼠标双击时会自半对话框,查看源码发现有个监听鼠标双击的事件如下图: 简单的方法就是把该行去掉,为了扩展可改成如下图: 这样 ...

  8. Step by Step 設定 TFS 2012 Create Team Project 權限 - 避免 TF218017、TF250044

    基本上權限的設定和 以往的 TFS 沒有什麼太大的差別 只是這次的權限設定畫面有略作些調整,我還是一併整理一下 當我們用 TFSSetup 的帳號安裝完 TFS 2012 後 想要在自已的電腦上用自已 ...

  9. 《Unity3D大风暴之入门篇(海量教学视频版)》

    <Unity3D大风暴之入门篇(海量教学视频版)> 基本信息 作者: 智画互动开发团队 出版社:电子工业出版社 ISBN:9787121222429 上架时间:2014-1-13 出版日期 ...

  10. [Android 新特性] 15项大改进 Android 4.4新特性解析

    腾讯数码讯(编译:刘沙) 终于,Android系统迎来了久违的重大更新——Android 4.4 KitKat,并与新旗舰Nexus 5同时问世.那么,新的系统究竟都有怎样的改进.是否值得升级呢,下面 ...