René's profile一九八四PhotosBlogGuestbook Tools Help

Blog


    July 23

    码农日记 1

    做码农将近一年,突然发觉自己写文字都有些生疏了。在斟酌着写出一句话之前,内心里总有先写几个单元测试的冲动。于是很久都什么也写不出来,可能是写出来也无法编译的缘故。

    虽然经常下班已经很累,还是决定以后要记录一些东西,也算是不仅是给帝国主义资本家打工了。不过也暂时没有精力把所有的想法系统的整理起来,姑且胡乱记录下来。

    上大学的时候的偶像是96级的刘明华和顾斌。那都是神一般的人物。所以也总不断试图着耍小聪明写些程序,哗众取宠。现在明白,小聪明足以写出程序,而写好程序需要大智慧。

    既然程序是用语言写的,那么程序本身就像文章一般。虽然表达同一个意思,不同的人有不同的描述方式、不同的修辞手法,可能都对,但是总有一些表达方式能够让大多数人赞许。如果仅仅是表达到了意思,那也仅仅是应付差事而已。

    写好的程序,和写好的文章一样,你首先得知道什么是好的程序。天天写程序的人,也不一定知道什么是好的程序;就像那些以码字为生的记者,一样可以每一篇都是胡话。

    好的程序,让code review的人都会读起来像读行云流水的文章一般,无处不体现着编程者的用心。而不好的程序,像外交部发言人答记者问一般,没有逻辑,没有信息量,只是应付差事。

    程序不是给自己写的, 不是给客户写的,也不是给经理、老板写的。程序是给小读者们写的。这小读者们包括编译器;潜在的会去读到、理解这个程序的人。这样,你才会把程序写好,而不仅仅是写完。不是写给读者的东西,它的初衷就决定了它总是有问题的。

    在程序中加注释,并不是好的习惯。好的程序应该没有注释,因为它逻辑清晰、一目了然。强人能够把复杂问题简单化,弱人只会把简单问题复杂化。做软件工程研究如此,当码农亦是如此。加再多注释去粉饰太平,也不能把一个写的很差的程序,变成一个好的程序。所以有写注释歌功颂德的功夫,不如想想如何能够重构。

    尼古拉老师关于软件开发的逻辑抽象到了只有一句话,虽然我如胝断指故事中的小和尚一般从开始就可以背诵,然而仍旧不断在实践中发现很多名号很吓人的软件工程方法,不过是这简单的抽象逻辑的推演。他说:小的好,大的坏。(Small is good; big is bad.)简单的道理,比宏大的叙事,更有指导意义。

    在时间紧、压力大的情况下,更要把程序写好,写完美,因为这是节省时间提高效率。任何的侥幸的心理和乐观的假设,都只会在未来花更多的功夫去弥补。任何粗心、漏洞和错误,都会有一天反噬自己。那些管理层的人们是有时会要求妥协,但是即使妥协作为写代码的人必须要争取。而且,如果管理层总是要求开发者牺牲质量而追求进度和速度,这样的公司也不会长久。

    先写到这里。

     

     

    Comments (1)

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Nan Wuwrote:
    这篇好啊,一定要说两句。好的程序有美感,就像质能方程与Maxwell方程,不但完全描述了状态,还简洁的让人神往。 我敢肯定的是,秦刚老师绝不是好码农。
    July 23

    Trackbacks

    The trackback URL for this entry is:
    http://renepapa.spaces.live.com/blog/cns!376D1BA2D144EC97!711.trak
    Weblogs that reference this entry
    • None