编程规范和习惯

几乎所有会写代码的人都认为,编程和写诗一样,是一门艺术。

Source: Dude trust me.

其实,能够写出实现需求的程序,只是编程能力中的一小块。很多时候更重要的事情,是代码本身。

毕竟程序是给人看的,我们要尽可能地让自己的代码简介明了,前后一致,而且,更重要的是,改起来方便。

我们以下面两段程序为例来分析。

程序一


a="小王"
b=69
print(a+"的得分是: "  +b)

a ="小红"
b= 80
print (a +"的得分是: " + b)

a="小明"
b = 73
print (a+ "的得分是: "+ b)

程序二


def printScore(student_name, student_score):
    print(student_name + "的得分是: " + str(student_score))


for n, s in [("小王", 69), ("小红", 80), ("小明", 73)]:
    printScore(n, s)

同样是打印三个学生的成绩,我们希望你书写第二种程序。我们会从三个角度分析。

变量的命名

程序一中,我们看到了两个变量 ab。在稍微长一点的程序里,这样的变量就会让人疑惑:这个变量是干啥的?

于是,这个人要通过理解代码来猜测变量的用途,而这是相当费事的过程,在一些情况下,甚至是几乎不可能做到的。

事实上,很多人会故意把变量名都变成 ab 之类没有意义的东西,以防止自己的程序被人理解,然后被抄袭或者盗用。然而,这也不需要你手动这样做,有很多 代码混淆 工具可以自动做到这件事。

所以,只要你在写程序,请尽量取好变量名,让人一看就知道它是干啥的。就像 程序二 那样,大家一看就知道 student_namestudent_score 是啥意思。

格式的问题

每个人可能有不同的 style,但务必做到前后一致。比如,你如果你习惯在等号、加号等符号两边加一个空格(笔者建议这么做),那么请在你的程序里从头到尾都这么做。

易于更改的问题

很少有程序,一经写出,就再也不用修改。比如上述程序,一个很可能的修改是,我们需要 print 第四个第五个学生。

所以,我们在写的时候,就要让程序尽量容易修改。