有人说读英语浪费时间,没有汉语快之类的。 还有一些说,为了学编程,去学英语本末倒置。 那么作为一个 review 了几千个 MR 的过来人,我来说一下为什么程序员一定要学好英语。
1. 写汉语注释。
这个就跟网易的验证码是中文一样,注定给中国人用的。 那么我们写代码就一定是给中国工程师的么,这个可能不是这样的,可能你的团队很快就有外国人。
很多文档是从代码里过来的,看代码的不一定很多人,但看文档的人可能就比较多, 所以跟上面一样,到时候麻烦就很大。
2. 变量名,表名,方法名
估计是所有 Team 里最大的问题,各种变量随意命名。 后面看代码的人想哭, 听说有些用汉语拼写,还有汉语拼写缩写。命名不一致,在各个 team 里无法交流,需要开会!开会!简直悲剧。 DBA 被你们玩哭了 ,表名是最重要的,其次类,方法,最后变量。都应当在 team 里用英文保持一致,而不是汉语拼写,或者汉语拼写缩写。任何地方都不能用汉语拼写缩写。
3. 英文文档看不懂
这个是开头的链接里提到的。 借助一些翻译软件,浪费无数时间后,可能还有条路可走。 不过这就像爬山,看英文就像坐缆车,翻译软件看中文就相当于自己爬没有开垦过的路, 等翻译就像等着这山被开发吧。
4. 不知道怎么查问题
文档看不懂还不是最主要的麻烦,麻烦是出了问题,不知道怎么搜索。 用百度的,当我没说,能用百度到的,应当都不是太麻烦的问题。
5. 不知道怎么问问题
在开源社区的邮件组里,遇到一个问题,只要合理地记录 log ,清晰表达自己的问题,一般来说,都是可以解决的(如果很难重现就另当别论)。 但如果不会英文,多半是很难解释清楚的。 Google 可以帮助翻译,看起来也浪费时间。
其实还有一些技术大会之类的,也是需要用英文交流。 还有,需要在跨国公司 /外包公司里跟上司或者合作伙伴交流,这些就是另外的故事。但从工程师的基本素质来说,英语的作用无论从哪方面来说,都不会夸大。