Learning English From Android Source Code:1
英语在软件行业的重要作用不言自明,尤其是做国际项目和写国际软件,好的英语表达是项目顺利进行的必要条件。纵观眼下的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的更多相关文章
- Learning English From Android Source Code:2 Ampersand
这一次想把标点符号的英语表达总结一下,这些单词非常重要但easy被我们忽视.以我的经验,还是多认识几个.以备不时之需. 以下从"标点符号"開始: punctuation [英][ˌ ...
- Learning from the CakePHP source code - Part I
最近开始痛定思痛,研究cakephp的源码. 成长的路上从来没有捷径,没有小聪明. 只有傻傻的努力,你才能听到到成长的声音. 下面这篇文章虽然过时了,但是还是可以看到作者的精神,仿佛与作者隔着时空的交 ...
- Troubles in Building Android Source Code
Some Troubles or problems you may encounter while you setup the Android source code build environmen ...
- Android Source Code
一. Android 框架 http://elinux.org/Master-android Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各 ...
- Learning from the CakePHP source code - Part II
原文:http://debuggable.com/posts/learning-from-the-cakephp-source-code-part-ii:480f4dd6-57fc-4715-8709 ...
- Google android source code build 问题总结【转】
本文转载自:http://light3moon.com/2015/01/31/Google%20android%20source%20code%20build%20%E9%97%AE%E9%A2%98 ...
- 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 ...
- 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 ...
- android activity 启动过程分析(source code 4.4)
说实话,android source code从2.3到4.4变化是蛮多的,尤其是media部分,虽然总的框架是没有多大变化,但是找起代码来看还是挺麻烦的.在android里面最受伤的是使用了java ...
随机推荐
- Arab Collegiate Programming Contest 2012 J- Math Homework
思路:由于只有1-6这几个数,而这几个数的最小公倍数是60,所以只需要求出60以内有多少满足条件的数即可. 再就是求出对于给定的n,求出60的倍数.然后就是怎样求的问题了. 首先可以写成如下形式: ...
- bzoj1502 simpson求面积
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1502 题解: simpson积分求面积,s = (f(a)+f(b)+4*f(c))/6*Δx ...
- jsp和servlet有哪些相同点和不同点,它们之间的联系是什么?
1.jsp经编译后就变成了servlet(jsp本质就是servlet,jvm只能识别java的类,不能识别jsp代码,web容器将jsp的代码编译成jvm能够识别的java类) 2.jsp更擅长表现 ...
- WEB安全扫描器Netsparker推荐给大家
Netsparker是一款综合型的web应用安全漏洞扫描工具,它分为专业版和免费版,免费版的功能也比较强大. Netsparker与其他综合 性的web应用安全扫描工具相比的一个特点是它能够更好的检测 ...
- .NET 4.6的RyuJIT尾递归优化的Bug
今天看到园子里有一篇新闻稿.NET 4.6的RyuJIT编译器中发现严重的Bug提到,在.Net 4.6的x64程序中默认启用新的JIT程序RyuJIT在处理尾递归指令的时候有一个Bug,导致无法得到 ...
- wpf 分别用前台和后台 两种方法 绘制矩形 填充
xaml: <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft ...
- 创建自己的Repo Server
非常久曾经出于好奇细致了解了下Repo及server的原理,可是今天突然发现有些忘了.于是想记录下来. Repo机制 Repo是google官方为管理Android项目开发出来的一个软件. 我们先来看 ...
- Java对象引用传递探索
一直认为自己对对象传递理解的颇为深刻,没想到最近一次的编码中,就犯下了这样的错误,令自己排查了很久才找到问题的根源, 辅以小case记录以自省. 代码如下: public class ObjRefer ...
- Openfire 性能优化
Openfire 是一个XMPP协议的IM Server. Openfire使用mysql配合它不知所谓几乎无效的的Cache机制就注定无法支撑高并发, 所以第一步,将数据库切换为比较强一点的Mon ...
- Memcached源码分析——内存管理
注:这篇内容极其混乱 推荐学习这篇博客.博客的地址:http://kenby.iteye.com/blog/1423989 基本元素item item是Memcached中记录存储的基本单元,用户向m ...