并不是代码写的越多,代码的质量就越高。思考才是。
解决一个问题,打开电脑就手撕代码,最终的结果往往是各种代码问题,经过一系列迭代后,代码积重难返,最终的结果就是推到重来,前期的付出都白费,最典型的就是现在所谓的敏捷,听起来高大上,实际落地其实就是加班,因为没有时间思考。
现在的很多公司已经不尊重科学和客观规律了,如果让他来管理孕妇,我觉得他们恨不得要把 10 个月的产期缩短成 2 个月。
程序员应该坚持自己的良质,不能因为产品经理或老板而改变一些非常好的做事方法,很多问题都是可以通过沟通解决的,面对复杂的需求工期又特别短,不妨听下陈皓老师(网名:左耳朵耗子)的方法:不要说不,而是给对方选择:
1、我可以加班加点完成,但是我不保证好的质量,有 bug 你得认,而且事后你要给我 1 个月的时间还债。
2、我可以加班加点,还能保证质量,但我没办法完成这么多需求,能不能减少一些?
3、我可以保质保量地完成所有的需求,但是,能不能多给我 2 周时间?
看到这里,我想你也一定会认为:除了编程,沟通也是一门艺术。
这两天学到了王争的专栏《设计模式之美》,其中提到的如何发现代码质量问题,可以从以下几个方面审视代码:
以上是一些通用的关注点,可以作为常规检查项,套用在任何代码的重构上。除此之外,我们还要关注代码实现是否满足业务本身特有的功能和非功能需求。还有一些比较有共性的问题,如下所示。
当看到这些时,我只觉得醍醐灌顶,写代码并不难,难的是写出好代码,什么是好代码,质量高的代码?以上 14 条问题给我们指明了方向。
以上共 14 个方面值得打印出来贴在桌子上,作为我们日常写代码的一个提示,解决这些问题过程虽然耗时,假以时日,我们一定可以写出非常优秀的代码,成为优秀的工程师。