读书笔记_代码大全_第31章_布局与风格

布局与风格

愿我的读书笔记带你翻过45页的书  http://www.cnblogs.com/jerry19880126/

布局主要是代码的书写方式,也包括注释,简单来说,就是你的源文件的样式。“恐怖”的代码布局会让你不想再多看一眼代码,比如:

但是好的布局会让你有更集中的精力对付代码中的逻辑,而不是去分层断句,比如下面的代码布局就好多了:

我觉得书上有一段引用很好,“傻子都会写让计算机理解的代码;而优秀的程序员写的是人能看懂的代码”。优秀的程序员写出的代码会有良好的布局,因为好的源码布局有助于:

(1)     准确表现代码的逻辑结构

(2)     始终如一地表现代码的逻辑结构

(3)     改善可读性

(4)     经得起修改

 

下面着重讨论一下应该怎样布局。也许你在txt文件中写出来的代码是这样的:

1 if(pixelColor==Color_Red)
2 statement1;

 

这样写的布局就不太好,比如:

(1)     缩进。statesment1应该向前缩进;

(2)     空格。pixelColor与==号之间最好能有个空格;

(3)     没有突出块。即使if下面只有一句话,也最好加上大括号,便于扩充,也增加可读性。

 

修改后的代码是这样的:

1 if(pixelColor == Color_Red)
2 {
3     statement1;
4 }

当然大括号的排布也可以是这样:

1 if(pixelColor == Color_Red){
2 statement1;
3 }

两种方式都是可以的,我比较喜欢用第一种(虽然有些浪费空间了,但大括号找起来比较方便),无论你的喜欢的风格是怎样的,重要的是在整个程序中保持一致

 

对于子函数的调用,也许你写出来的是这样的:

DrawLine(window.north, window.south, window.east, window.west, currentWidth, currentAttributes);

但这样看上去会比较累人,如果采用下面的排版:

1 DrawLine(
2 window.north,
3 window.south,
4 window.east,
5 window.west,
6 currentWidth, 
7 currentAtrributes
8 );

这样会更清晰一点,适合多参数子程序的布局,但若参数不多的话,就不需要换成多行了。需要明确的一点是,不是你的源代码写得越短,程序跑起来就越快,所以不用担心源代码采用的宽松结构会使代码低效,相反,适当宽松的结构有助于提升可读性,从而使得编写和维护更加高效。

 

最后说一下声明变量时的布局,也许你喜欢:

int i, j, k,….

但这样其实不好,做些改进:

(1)     变量声明的时候顺便就初始化了;

(2)     一行只做一个变量的声明。

 

可以变成这样:

1 int i = 0;
2 int j = 1;
3 int k = 3;

这里只是作演示,变量名随便起的,但你的程序里可千万不要出现这样的变量名啊(作为循环下标还可以)。一行多个变量的声明有时还容易出错,比如int* p1, p2,p1的确是int*型的,但p2就不是了,p2是int型的,如果你看不清楚,还是分成两行来声明吧。

 

最后总结一下吧,好的布局使你的代码容易编写和维护。缩进、空格、大括号块、换行、空行都是改善布局的利器。

<end>

posted @ 2012-12-26 17:09  Jerry19880126  阅读(648)  评论(0编辑  收藏  举报