财新传媒
位置:博客 > 老万故事会 > 个人分类 > 开发
2017年09月27日 12:15

我看编程(一):失败真的是成功的母亲吗?

我看编程(一):失败真的是成功的母亲吗?

我有一个悲伤的故事。

 

在做一个Java项目的时候,有一回我需要改动一个隔壁组写的函数。在这之前我看了他们的代码,百思不得其解:这看起来有很严重的逻辑错误,不可能正确工作啊!这样的代码怎么还被提交了,难道他们从来没有发现这个错误?测试干啥去了?打开测试代码一看,我靠这个根本就不像能编译通过的样子啊?难道我学的是假Java?或者这是我从来没有见过的最新最炫的高级功能?

 

 

好奇之下我深挖原因,最...

阅读全文>>
2017年05月22日 07:35

我看代码审查(三):实战的细节

我看代码审查(三):实战的细节

(图片由谷歌同事 Manu Cornet 创作,来自 www.bonkersworld.net)

 

审查代码是一门手艺。光知道原理就行了吗?这么想就 naive 了,要审得好还得要多练,让技巧融化在血液里,落实到行动中。像我平均每天审查5个新的CL,每个从几行到几千行不等,就算平均一个CL 100行,一年大概是12万行吧,在谷歌十多年,100多万行总是有的。听起来不算多,但是考虑到很多CL需要好几轮审查才能通过(见上期文章中百轮大战的例子),有时为...

阅读全文>>
2017年05月01日 02:16

我看代码审查(二):修炼的要点

我看代码审查(二):修炼的要点

题图来自 knowyourmeme.com

 

衡量程序员能力的维度有很多,包括设计、编程、领导、沟通、写作、颜值等等。其中编程能力做为程序员的安身立命之本,我觉得是最重要的一个维度。代码写得好,要饭要到老?那是写不来代码的同学黑我们的!代码写得好,不一定能成为大牛,但是我没有见过哪个大牛程序员是不屑于写好代码的。有人说,设计难道不是更重要吗?是的,设计能力很重要,但说到底这是是编程多了建立起来的一种感觉。世...

阅读全文>>
2017年04月23日 09:45

我看代码审查(一):工具的变迁

我看代码审查(一):工具的变迁 先讲一个悲伤的故事。   读博的时候,我给一门编程课做过助教。有一天,我收到了这样一份作业:   #define ZERO 0 ... #define FIVE 5 #define SIX 6 if (size > threshold)     return SIX; else if (x < ZERO)     return FIVE;   我问这位同学:你这是搞哪样?他说,老师在课堂上讲过,不要在程序里面直接用魔法数 (magic numbers,就是没头没脑冒出来的数值)。   显然,这位同学没...
阅读全文>>