从另一个考虑来看代码的风格
相信大家对代码的风格都有自己的观点,都有自己的风格。但大家心目中最完美的一定是简洁,易读,高效率的。
但有时效率和简洁性、可读性是不可兼顾的。这就要看开发的目的是什么了。对时间要求不高的当然要注重简洁和可读性,而另一些要求速度快,或体积小的程序则可能更强调效率。
我想现今随着计算机存储器的飞速发展程序的体积越来越显得不重要了。记得当年我在大一时所用的计算机只有512KB内存那时写程序优势是要注重空间效率的,磁盘也很小,还是在一个工具下才实现800KB的空间,在我心里不知感谢过多少回那个共软件的作者,有时候为了节省内存不得不把一些东西搬运到磁盘上,等到使用时再装进内存。打伞使用的计算机是4MB内存的,第一次使用保护模式时,开辟了一块2MB的内存空间,我真是激动的老泪横流,而现今128MB内存满天飞。256MB也很多。我的一个朋友配了768MB内存还说要再添。感觉硬盘容量也飞速增长。30、40G的随处可见。刻录光盘6、7百MB的空间也够折腾得了。所以今天代码的空间效率日渐不很重要了。
而处理器的发展给我们带入了GHz时代,使我们有了全新的感受。另一方面处理器的发展已远远超出了软件的发展速度。时间效率也显得不是很重要了,当然不向空间效率重要性下降的那么明显(在有些时候时间效率还是很重要的,如多媒体,图像处理等等)。
现如今软件的复杂性使得软件通常都由多人开发才能完成。而多人开发的配合问题就摆在了我们的面前。说白了多人开发的配合问题主要就是代码的可读性问题。例如以下两段代码:
1)
var
r:integer;
begin
r:=(strtoint(edit1.text)+strtoint(edit2.text))*strtoint(edit3.text);
end;
2)
var
r,a1,a2,a3:integer;
begin
a1:=strtoint(edit1.text);
a2:=strtoint(edit2.text);
a3:=strtoint(edit3.text);
r:=(a1+a2)*a3;
end;
那个更容易理解呢?更直白呢?
当然是第二个。
再例如
1)
dim a1 as long
a1=text1.text
dim a2 as long
a2=text2.text
dim a3 as long
a3=text3.text
dim r as long
r=(a1+a2)*a3
2)
dim r as long, a1 as long, a2 as long, a3 as long
a1=text1.text
a2=text2.text
a3=text3.text
r=(a1+a2)*a3
那个更好呢?
之所以说Pascal语言很美就是体现在你必须按照比较规范的方式来写代码。在哪里声明,哪里定义函数,过程都要按部就班的来。不是说其他语言办不到,而是其他语言要求松一些罢了。
代码的得风格中可读性是十分重要的,不要自己耍小聪明。玩弄了一些花招技巧这是软件开发的大忌。记得当时在大学时代有的同学用TC写程序时往往是过了半年连自己都看不懂了,还要问别人。所以我们在写代码时除非是有特殊要求否则要尽量按照这个顺序来约束自己的代码,可读性、时间效率、空间效率。
以上仅是个人观点,望各位都能指点一二。共同为我们心中完美的代码风格而努力。