Friday, December 14

Code Complete 工欲善其事,必先正其名

子曰:「名不正,則言不順;言不順則事不成」。

《Code Complete》这本书不断督促程序员要给程序的各个地方取个好的准确的名字:不管是Calss名字,函数名字,还是变量名字,都要精准地表达它所代表的类、函数、变量。书里提到一点:一个程序所提供的函数接口,如果读者不能理解怎么使用,那么那个程序应该返工。

以前我初学编程的时候,连源程序本身的长度都要追求节省;用磁带来保存,每个字节都很珍贵。所以最常用的变量是a、b、c、i、j、k,担心用长变量浪费空间;况且那时候Basic限制变量名不能长于8个字节,用“有意义的变量名”是一件很奢侈的事情。星移斗转,现在存储空间已经不成问题,变量名长度已经没有限制(65535字节, last time I checked),甚至你可以用中文作为变量名。以前追求程序跑得快,现在追求程序读得快、易维护。把程序写得好看,即使你自己得了失忆症也能很快上手。

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.