俗话说,字如其人,即通过书写行为,可以投射出人的性格、心理、情绪、能力等方面的信息。对于程序员来说,代码风格就像程序员的书法。代码并不仅仅写给计算机读,也给人读。不能被别人读懂的代码,对于找bug、团队合作以及代码长期维护都有着巨大的消极影响。对于初学者,往往觉得代码能跑、没bug就好了。事实上,规范是一种习惯,代码规范要从初学抓起。 关于命名。你的程序,该不会还叫未命名i吧?对于程序猿,上了大学以后,词典早已不是英语学科的专利了,不知道有多少单词,都是在写代码命名时学到的。名字,即标识符,包括变量名、函数名、宏名、常量名,甚至文件名。一般来说,对于名字,我们要求它简洁、易记、能够拼读,还要能代表一定的含义。 规则如下: 1、命名风格应该保持一致。即运用同一套命名法则。由多个单词复合时,逻辑断点应做特殊处理以示分隔,如大写、下划线等。详情可百度匈牙利命名法、骆驼命名法、帕斯卡命名法。此外,单词缩写应符合人们的习惯。 2、函数名多采用动作性名词。 3、全局变量使用具有说明性的名字,而局部变量则用短名字。 4、标识符应用含义正确的英文单词或单词组合命名,切忌用汉语拼音!! 5、不要出现名字相同的全局变量和局部变量,尽量避免仅用大小写区分的两个名字。 关于函数封装。以C语言为例,对于初学者,很容易一个main函数写到底,重复使用的代码,就复制一遍再改改。然而,当我们进入后阶段的学习时,这样的做法就再也无法满足我们的需求了。不停地复制会让代码变得冗长且不易读,出了bug不仅不好找还很难修改。因此,我们应当从一开始就养成函数封装的意识,将需要多次调用的功能封装成函数,这样既简洁,又美观。类似的还有利用宏给数起名字,如此能达到易修改,易调整的效果。 关于表达式。大家一定听过代码界的甜咸豆腐花之争——括号跟在语句后还是独占一行。其实,这也没什么好争的,只是习惯问题,但无论如何,同层次对齐、异层次缩进(Tab)和语句换行都是必要的。否则,你的代码很容易看起来像一团浆糊。此外,在一些情况下,我们应该利用括号,排除表达式的二义性。代码应当清晰易读,而不仅仅追求简短巧妙。 关于注释。注释也是程序新手容易忽略的一点,即使知道它的重要性,也还是有许多新手忽略它。注释是帮助程序读者的一种手段,最好的注释是简洁地点明程序的突出特征,或提供概括说明。不仅注释给别人看,也是注释给自己看。注释包括序言注释、功能注释和语句注释。 注释的原则如下: 1、不要注释过于显然的东西。虽然注释很重要,但废话也是要不得的。 2、请给函数和全局数据加以注释。它们是理解的关键。 3、不要试图把地沟油注释成食用油,当一部分代码很混乱时,请重写它。 4、注释不应与代码矛盾。 5、不要添乱和啰嗦。 上面只列举了初学者最容易忽略也最应当注意的几点,还有更多细节,举不胜举,需要时大家在编程论坛、博客或者网站上都可以学习到。我们需要明确,代码风格因人、因语言而异。但是,有一些规则,是所有的程序设计语言都应该遵守的。代码规范是一种习惯,一旦好习惯成自然,我们就能自动照顾到许多细节问题,既降低了程序的错误率,也有利于与其他程序员的交流合作。而一旦坏习惯成自然,就像人们写字的坏习惯一样难以改变。一句话,代码规范应从初学抓起。 参考资料:中国人民大学信息学院程序设计课件 本人初学时无缩进的代码 加入注释及宏定义的代码 函数的封装 作者信息:陈洁婷 中国人民大学信息学院 chenjieting1208@163.com |
|