读书笔记第六周———《代码规范与结对编程》
这周我读了构建之法第四章,感觉学到了不少东西
首先是代码规范,以前数据结构的助教说我的代码可读性差,这是为什么呢,这里附一段我以前写过的代码:
1 unsigned long long a; 2 int b; 3 for(int i=0;i<10000;i++) 4 { 5 cin >> a >> b; 6 switch (b) 7 { 8 case 1: 9 charu(a); 10 break; 11 case 0: 12 chaxun(a); 13 break; 14 default: 15 break; 16 } 17 18 } 19 20 cout << n2 << "/" << n1 << endl; 21 cout << m2 << "/" << m1 << endl; 22 return 0;
a是什么,b是什么,n1 n2又是干什么的呢?不仅没有注释,而且用的变量名也非常不好。
而这本书给了很多提高代码规范的建议,比如:
- 缩进,一般以4个空格
- 行宽,不多于100个字符
- 用括号清楚地表达优先级
- 断行与空白的{}行
if (condition1) { Do something; } else { Do something else; }
一般用这种方式会让人觉得层次清晰,逻辑分明
- 命名!想我之前写的那段程序,最主要的问题之一就在于没有命名。我以前觉得命名无所谓,但现在觉得,好的命名要让人能够见名知意,这对提高代码可读性是重要的,很多程序员为了一个好的名字还想半天。一般可用下划线来构造很好地命名。
注释,没有注释的代码让人读起来很痛苦,而好的注释主要是告诉别人这个程序在做什么,为什么这么做,以及需要注意的东西。这样别人读起你的代码才不会很痛苦。
于是乎我们就要问,为什么我们需要好的代码规范?为什么我们需要别人看懂我们的代码?
这在结对编程中,尤其重要。假如说没有人看得懂你的代码,结对编程也就只是纸上谈兵了。
那么问题又来了,为什么我们要结对编程呢?
有以下几个原因,首先,一个人编写代码,总是有种灯下黑的现象。可能你自己犯的很微小的错误,你花了大把大把的时间,还是搞不出来。而另一个人只需要看一下就能指出,这提高了复审效率。
还有一个原因,就是可以不断从别人那里学习,提高自己的水平。这次结对编程,我从朱池苇大佬那里学到了很多,比如良好的代码风格,清晰的编码思路,以及熟练的调试技巧等。