英语在软件行业的重要作用不言自明,尤其是做国际项目和写国际软件,好的英语表达是项目顺利进行的必要条件。纵观眼下的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. HDU5904 LCIS 水题

    http://acm.hdu.edu.cn/showproblem.php?pid=5904:// 说是LCIS其实和LCIS没有一点儿关系的水题. 代码 #include<cstdio> ...

  2. 【贪心】BZOJ3668-[NOI2014]起床困难综合症

    [题目大意] 给定n次操作(与,或,异或),在0~m中选择一个数,使这个数经过n次操作后得到的值最大. [思路] 水题orz 枚举这个数每一位的取值是0还是1,然后根据它经过n次操作后的结果判断: ( ...

  3. bzoj 3052 树上莫队 待修改

    感谢: http://vfleaking.blog.163.com/blog/static/174807634201311011201627/ http://hzwer.com/5250.html 好 ...

  4. 检测使用内存memory_get_usage,执行时间microtime

    最近经常用一些扩展,适当比较所占内存,还有一些扩展执行时间长,检测一下每步的执行时间,可以加以修正调整一下源码 查看运行时间 microtime() #返回当前 Unix 时间戳和微秒数. echo ...

  5. Codeforces Beta Round #8 B. Obsession with Robots 暴力

    B. Obsession with Robots 题目连接: http://www.codeforces.com/contest/8/problem/B Description The whole w ...

  6. VK Cup 2016 - Round 1 (Div. 2 Edition) A. Bear and Reverse Radewoosh 水题

    A. Bear and Reverse Radewoosh 题目连接: http://www.codeforces.com/contest/658/problem/A Description Lima ...

  7. Codeforces Round #302 (Div. 2) C. Writing Code 简单dp

    C. Writing Code Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/544/prob ...

  8. Ubuntu 16.09开启iptables的日志实现调试

    1.先配置日志文件输出 参考:http://www.cnblogs.com/EasonJim/p/8413535.html 2.配置日志打点 参考:http://www.cnblogs.com/Eas ...

  9. 王者参考jar包

  10. 实战DELPHI:远程线程插入(DLL注入)

    http://www.jx19.com/xxzl/Delphi/2010/04/17/ShiZhanDELPHI_YuanChengXianChengChaRu_DLLZhuRu/ 远程注入DLL方法 ...