《构建之法》第四、第十七章读后感
第四章
在这一章最后一页“ 让{}独占一样还有一个好处:一眼就能看出是否有多余的代码行 ,还有些情况下是致命的错误”给出的参考链接http://lpar.ath0.com/2014/02/23/learning-from-apples-goto-fail/,我还是没明白{}的致命错误在哪里,我不明白,链接中的代码
if(err) { goto fail; }
英语太差,我不确定,链接是不是在说,去掉{}会让这个语句执行出不一样的结果?这个我就很不明白,明明这段代码加不加括号都无所谓,我就觉得错不在{}而是goto,因为我也没使用过goto,所以不太懂链接给这个例子干嘛。所以我希望能够给出更多致命错误的例子,因为我很喜欢每个“{”’或“}”独占一行。
第十七章
对于绩效管理,我在知乎看了如何对程序员绩效考核?因为这个一般都不是我们来制定的,不同公司的绩效考核也不一样,比如BAT的工程师内部晋升和绩效考核是怎样的?其实对于绩效管理来说,我不知道作为程序员假如在不影响项目的质量情况下,我们是否可以为各自的工资而赚绩效管理的漏子?就比如用代码量来评绩效,对于将代码写的很多(但并不影响项目)的人来说,这样既能挣得更多,个人评分也更高,管理者(假设他不知道,代码可以变得更短)也很认同,那我们是否可以这样做?这个几乎就是两全其美的做法?你很可能为了优化代码,而让你的个人评价很低。就上述情况,我就想知道,如果绩效制度本身就有问题,那么我们是否可以为了更多的利益而选择我们的工作方式,毕竟错不在我。
在这一章,有个萝卜与白菜的故事,首先我对于阿超提出的这个故事就很不认同,我不知道这个故事有没有什么类似的现实案例,因为我没能搜索到相关的信息,对于某些编造的故事,我是很反感的,因为它没有说服力,毕竟它随时可以由个人的主观意志的需要而改变。所以我更希望我们可以故事中领悟,而不是有目的去编造一个故事。先不管故事的真实性。我不太明白,从各个方面来说,萝卜都是一个很突出的人。他的工作效率很快,也能完成更多的项目,项目的功能也更多。再者说,他的bug也能及时修复,因此我是否可以说他的项目质量也不亚于白菜呢?那么综合来说,白菜是不是根本不能与萝卜相比?而且我觉得只要在项目发布之前将bug修复,就不必计较谁项目的bug多少,并且萝卜的bug都是自行修复,也没占用到他人的时间。更何况,bug一般来说都是不可预见的,谁也不能保证自己的bug比较少。总的来说,我不太明白讲这个故事到底是让我们学习萝卜还是学习白菜,或者说这个故事是讲分工的不合理?毕竟白菜更适合在稳定阶段进行。而且我还觉得吧,萝卜白菜为什么要分出高下呢,很明显他们是两种类型的人,他们的关系更像互补而不是竞争,如果整个项目全是萝卜那样的人,项目的稳定可能得不到保证,而全是白菜的话,项目的功能又不够丰富。因此,我不太懂为什么要讲这个故事,这个故事到底想说什么?