英语在软件行业的重要作用不言自明,尤其是做国际项目和写国际软件,好的英语表达是项目顺利进行的必要条件。纵观目前的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.容易接受的; 感受性强的; 
复数: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 resumed752         // before mixer thread can run. This is important when offloading753         // because the hardware buffer could hold a large amount of audio754         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. Android source code gerrit

    Android source code gerrit 找branch 先在 https://android.googlesource.com/ 找到相关project,如·"platform ...

  2. Downloading Android Source Code

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion.CVS这样的集中式版本控制系统.在集中式版本控制系统 ...

  3. about android source code

    1.source code 编译的时候穿先odex和apk分开,设置:build/core/package.mk   LOCAL_DEX_PREOPT := true  改为  false

  4. Android Source Code

    2019独角兽企业重金招聘Python工程师标准>>> 我们知道,源代码是最好的学习资料,所以今天就来记录下android中下载并查看源代码的方法: 安装Git,如果你还没有用Git ...

  5. Download Android Source Code in Windows

    如果对Linux比较熟悉的人,可以看官方的步骤:http://source.android.com/source/downloading.html 像我这样用惯了Windows的人,对Linux还是玩 ...

  6. Download Android source code

    [更新] http://source.android.com/source/downloading.html 新版的地址修改了:  $ repo init -u https://android.goo ...

  7. android source code online

    原文:http://blog.csdn.net/chuekup/article/details/8067075 1. https://github.com/android 2. http://grep ...

  8. android studio查看android source code

    mmm development/tools/idegen/ sh ./development/tools/idegen/idegen.sh android.iws, android.ipr, andr ...

  9. Dowload android source code

    Prepare the environment First, you need to download "repo" script from kernel.org my blog ...

最新文章

  1. 计算机科学与技术的知识要求,0812计算机科学与技术基本要求.doc
  2. AI:2020年6月23日北京智源大会演讲分享之智能信息检索与挖掘专题论坛——09:10-09:55裴健教授《智能搜索:从工具到思维方式和心智》
  3. 鸿蒙基于JS搭建HelloWorld并修改国际化文件
  4. Photoshop用户必知必会的28个快捷键
  5. POJ1733,jzoj1779-Parity game(奇偶游戏)【带权并查集,离散化】
  6. 1705. 吃苹果的最大数目
  7. php 小米路由器_小米路由器固件修改
  8. 程序员应该如何对待面试?
  9. Alarm Clock Pro for mac(闹钟和时间管理工具)
  10. 无忧·企业文档2.1.4版本更新清单说明来啦
  11. 鏖战双十一:阿里直播平台面临的技术挑战
  12. 用PIL制作黑白滤镜
  13. matlab画出周期为2的方波图形 傅立叶级数_matlab周期方波信号
  14. display-table制作表格
  15. JDK1.7 api 中文(不是全中文)
  16. pythonscrapy爬虫 崔庆才_Scrapy爬虫(一):专题概要
  17. 空间数据+AI,让建筑学会自己“思考”
  18. SWF 编辑工具 闪客之锤
  19. 关于面试笔试的相关问题通知
  20. 电脑报2013年第8期

热门文章

  1. EyeKey王姝琦:生物识别的6大误区
  2. Mac电脑待机长时间离开后自动退出登录和关机的解决方法
  3. SAP请求本地导出导入
  4. [转载] 机器学习数据集统计系列(二)
  5. 坚持,不慕虚荣,踏实。
  6. 豆瓣上《特权和寻租的经济学》的书评
  7. 我找到了用 AI 去马赛克的办法……
  8. python数据分析的一般步骤_50. Python 数据处理(1)
  9. PyQT6的从零开始(三):在pyqt桌面程序简单内置网页浏览器
  10. 生活不止有眼前的苟且,还有远方的苟且