读大学的时候,写的程式都是小意思,也从来没有计较程式的可读性及修改性。那时候,写的最多只有自己同组的几个同学看,维修也是自己干,教上来教授评分完了之后就算了,还修改什么劲?
那时候,以为所谓的「可读性」,就是在程序中加多一些注释(Comment)、Function 取名的时候写得长一点、贴切一点,还有使用匈牙利表示法。。。
现在发现,这样,还是不够的。
再多的注释,都是不足够的。
程序的结构,除了要考虑程式运行的速度、编码的效率之外,居然还要考虑到人类阅读的考量。对我来说,这个发现,有点匪夷所思。程序的结构设计,原来也好像房屋设计那样,不是只要能够住人就好的,还要考虑到老板会基于界面上的修改、功能上的改变。。。那根本就是一种艺术了。
那些老板可能会要求更改,要用这一种编码方式来实现。
那些老板不大可能会要求更改的,要用另一种编码方式来实现。
虽然两种编码方式所执行的都是同一样的东西,可能是同一个 button、GUI、读取 database。。。编码的方式却要千变万化,才能因应不同的状况。
举列来说,一个 Dialog Box 跳出来问 Yes/No,就必须看不同的状况,来决定它应该出现在源代码的那一个部分。要把全部界面集成在一个档案里面?还是放在主程序中?还是要在主程序中开一个小function?
在编程的角度来看,每一种都是会达到同样的效果,效率也没差。差别大的事情,是可重用性、整个系统的更新及程序可读性。
大学的时候读书不用功,不清楚有没有课程教到这些学问及奥妙,但我认为,应该是没有吧。
我想,这种统一的可读性,是印度软件工程师的强处吧。华人的软件工程师,根本就不会想到这个问题。同一个功能,一百人就有一百种写法,理由是「反正都能完成工作,效率也没差,不同写法又有什么关系呢?」
那时候,以为所谓的「可读性」,就是在程序中加多一些注释(Comment)、Function 取名的时候写得长一点、贴切一点,还有使用匈牙利表示法。。。
现在发现,这样,还是不够的。
再多的注释,都是不足够的。
程序的结构,除了要考虑程式运行的速度、编码的效率之外,居然还要考虑到人类阅读的考量。对我来说,这个发现,有点匪夷所思。程序的结构设计,原来也好像房屋设计那样,不是只要能够住人就好的,还要考虑到老板会基于界面上的修改、功能上的改变。。。那根本就是一种艺术了。
那些老板可能会要求更改,要用这一种编码方式来实现。
那些老板不大可能会要求更改的,要用另一种编码方式来实现。
虽然两种编码方式所执行的都是同一样的东西,可能是同一个 button、GUI、读取 database。。。编码的方式却要千变万化,才能因应不同的状况。
举列来说,一个 Dialog Box 跳出来问 Yes/No,就必须看不同的状况,来决定它应该出现在源代码的那一个部分。要把全部界面集成在一个档案里面?还是放在主程序中?还是要在主程序中开一个小function?
在编程的角度来看,每一种都是会达到同样的效果,效率也没差。差别大的事情,是可重用性、整个系统的更新及程序可读性。
大学的时候读书不用功,不清楚有没有课程教到这些学问及奥妙,但我认为,应该是没有吧。
我想,这种统一的可读性,是印度软件工程师的强处吧。华人的软件工程师,根本就不会想到这个问题。同一个功能,一百人就有一百种写法,理由是「反正都能完成工作,效率也没差,不同写法又有什么关系呢?」
大负荷的程式的架构
不会programming却能考高分,公平吗?


2004/02/13 18:24 | by 

