| René's profile一九八四PhotosBlogGuestbook | Help |
|
|
July 23 码农日记 1做码农将近一年,突然发觉自己写文字都有些生疏了。在斟酌着写出一句话之前,内心里总有先写几个单元测试的冲动。于是很久都什么也写不出来,可能是写出来也无法编译的缘故。 虽然经常下班已经很累,还是决定以后要记录一些东西,也算是不仅是给帝国主义资本家打工了。不过也暂时没有精力把所有的想法系统的整理起来,姑且胡乱记录下来。 上大学的时候的偶像是96级的刘明华和顾斌。那都是神一般的人物。所以也总不断试图着耍小聪明写些程序,哗众取宠。现在明白,小聪明足以写出程序,而写好程序需要大智慧。 既然程序是用语言写的,那么程序本身就像文章一般。虽然表达同一个意思,不同的人有不同的描述方式、不同的修辞手法,可能都对,但是总有一些表达方式能够让大多数人赞许。如果仅仅是表达到了意思,那也仅仅是应付差事而已。 写好的程序,和写好的文章一样,你首先得知道什么是好的程序。天天写程序的人,也不一定知道什么是好的程序;就像那些以码字为生的记者,一样可以每一篇都是胡话。 好的程序,让code review的人都会读起来像读行云流水的文章一般,无处不体现着编程者的用心。而不好的程序,像外交部发言人答记者问一般,没有逻辑,没有信息量,只是应付差事。 程序不是给自己写的, 不是给客户写的,也不是给经理、老板写的。程序是给小读者们写的。这小读者们包括编译器;潜在的会去读到、理解这个程序的人。这样,你才会把程序写好,而不仅仅是写完。不是写给读者的东西,它的初衷就决定了它总是有问题的。 在程序中加注释,并不是好的习惯。好的程序应该没有注释,因为它逻辑清晰、一目了然。强人能够把复杂问题简单化,弱人只会把简单问题复杂化。做软件工程研究如此,当码农亦是如此。加再多注释去粉饰太平,也不能把一个写的很差的程序,变成一个好的程序。所以有写注释歌功颂德的功夫,不如想想如何能够重构。 尼古拉老师关于软件开发的逻辑抽象到了只有一句话,虽然我如俱胝断指故事中的小和尚一般从开始就可以背诵,然而仍旧不断在实践中发现很多名号很吓人的软件工程方法,不过是这简单的抽象逻辑的推演。他说:小的好,大的坏。(Small is good; big is bad.)简单的道理,比宏大的叙事,更有指导意义。 在时间紧、压力大的情况下,更要把程序写好,写完美,因为这是节省时间提高效率。任何的侥幸的心理和乐观的假设,都只会在未来花更多的功夫去弥补。任何粗心、漏洞和错误,都会有一天反噬自己。那些管理层的人们是有时会要求妥协,但是即使妥协作为写代码的人必须要争取。而且,如果管理层总是要求开发者牺牲质量而追求进度和速度,这样的公司也不会长久。 先写到这里。
TrackbacksThe trackback URL for this entry is: http://renepapa.spaces.live.com/blog/cns!376D1BA2D144EC97!711.trak Weblogs that reference this entry
|
|
|