
这是仁者见仁,智者见智的事情。
一般来说强调可维护性,是因为要使程序的生命力强,就需要长时间不断的维护和持续优化(修改BUG和增强功能),有时甚至会经历几代程序员之手。这时如果维护性差,会使后来者学习成本大大升高,相应的也更容易出错。
。。。。。。。。。。这很简单:
老师让你看一道题有几个解,你连题都读不懂,还谈什么效率,估计你给你一天时间你还是无解。
还有在计算机方面,只要变动一些代码,一个程序就容易错乱。计算机要应对千变万化的数字,字母,就得让它可维护,不然你换一个数字,就得改一下程序,短的还好说,长到几十页纸的你怎么办。。。。。
“清晰第一,效率第二”已成为当今主导的程序设计风格。
程序设计风格主要体现在以下几个方面:
⒈ 源程序文挡化
源程序文挡化应考虑如下几点:
⑴ 符号名的命名
符号名的命名应具有一定的实际含义,以便于对程序功能的理解。
⑵ 程序注释
正确的注释能够帮助读者理解程序。注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部分,它给出了程序的整体说明,主要描述内容包括:程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等。功能性注释的位置一般嵌在源程序体中,主要描述其后的语句或程序做什么。
⑶ 视觉组织
为使程序的结构一目了然,可以在程序中利用空格、空行、缩进等技巧使程序的结构层次清晰。
⒉ 数据说明的方法
在编写程序时,需要注意数据说明的风格,以便使程序中的数据更易于理解和维护。一般应注意如下几点:
⑴ 数据说明的次序规范化
鉴于程序理解、阅读和维护的需要,使数据说明次序固定,可以使数据的属性容易查找,也有利于测试、排错和维护。
⑵ 说明语句中变量安排有序化
当一个说明语句说明多个变量时,变量按照字母顺序排序为好。
⑶ 使用注释来说明复杂数据的结构。
⒊ 语句的结构
程序应该简单易懂,语句构造应该简单明了,不应该为了提高效率而把语句复杂化。一般应注意以下几点:
⑴ 一行内只写一条语句;
⑵ 程序编写应优先考虑清晰性;
⑶ 除非对效率有特殊要求,程序编写要做到清晰第一,效率第二;
⑷ 首先要保证程序正确,然后才要求提高速度;
⑸ 避免使用临时变量而使程序的可读性下降;
⑹ 避免不必要的转移;
⑺ 尽可能使用库函数;
⑻ 避免采用复杂的条件语句;
⑼ 尽量减少使用“否定”条件的条件语句;
⑽ 数据结构要有利于程序的简化;
⑾ 要模块化,使模块功能尽可能单一化;
⑿ 利用信息隐蔽,确保每一个模块的独立性。
⒋ 输入和输出
输入和输出信息是用户直接关心的,输入和输出方式和格式应尽可能方便用户的使用,无论是批处理的输入和输出方式,还是交互式的输入和输出方式,在设计和编程时都应该考虑如下原则:
⑴ 输入格式要简单,以使得输入的步骤和 *** 作尽可能简单;
⑵ 输入数据时,允许使用自由格式,允许缺省值;
⑶ 输入一批数据时,最好使用输入结束标志;
⑷ 在以交互式输入/输出方式进行输入时,要在屏幕上使用提示符明确提示输入的请求,同时数据输入过程中和输入结束时,应在屏幕上给出状态信息。
你的问题比较笼统,一个程序的效率,一方面看算法的选择,一方面看处理器速度。一般来说,处理器相同的情况下,判断一个程序的效率才有意义。
就算法而言,尽量回避使用算法复杂度过高的算法。比如说排序,如果使用冒泡法排序,算法复杂度是o(n^2),如果能在读入数据的时候边建表,边排序,可以使用折半查找来降低复杂度,同时如果使用哈希表,也可以提高查找效率。
主要看你要写一个什么样的程序,你可以发大概思路上来,让大家帮你想办法
程序员老师傅的解决问题能力要比初级甚至是普通的程序员都要高出很多倍,所以每个软件公司都会在保留1,2个经验丰富的资深级软件工程师,这样在遇到项目或者产品难点的时候能够力挽狂澜,这种水准的程序员也是很多公司追求的对象,而且和年龄没有太直接的关系,编程最终的就是给出解决问题的方案,从解决问题的角度出发解决方案还是非常多,但是在不同的人会给出不同的解决方案,但是有经验的程序员在解决问题的时候就会思考的比较多,不容易导致引入新的问题。
编程能力最直接的表现不是写代码的能力,因为随着时间的推移时间积累够了代码能力自然就上去了,很多程序员在工作多年之后虽然代码能力得到极大的提升,但是还是不具备独立的框架或者功能复杂的模块设计能力,所以很多人在工作多年之后工资一直不能得到上涨,这是主要原因编程的关键还是思路问题,关键点还是在于有正确的解决问题的思路,思路的切实性是需要经过项目实战的积累。
所以优秀的程序员一定是身经百战的经历过项目的洗礼,只有经历过项目才能真正意义上懂得编程是怎么回事,而且每次经历的项目都能够获取足够多的营养出来,越是优秀的程序员经历过项目之后知识体系构建越是完善,越是老程序员越是觉得程序深奥之初,所以老程序员轻易不动手都会思前想后把事情搞明白之后才去真正动手,所以讲老程序员真正动手写代码的时间还是非常短,大部分的时间都是在构思其可行性,真正动手的时间会非常短所以大家看到老程序员大部分的时间都是在看代码或者看一些资料,甚至有些人很少看到老程序员在大块的时间写代码。
越是老程序员对于编程语法看的越是淡薄,编程语言到了一定层面就是工具般的存在,就是为了编程思想服务,如果还在为了编程功能实现代码而烦恼证明了还在初级的学习阶段,度过了这个阶段之后就要考虑如何驾驭架构以及如何锤炼自己的编程思想了,编程的学习过程是需要循序渐进的不要觉得距离自己老程序员有非常遥远的距离,从开始入行就要慢慢去积累不断打磨自己的思想,希望能帮到你。
以上就是关于为什么说程序的可理解性和可维护性往往比程序效率更为重要全部的内容,包括:为什么说程序的可理解性和可维护性往往比程序效率更为重要、为何程序可理解性和可维护性比程序效率更重要、程序效率与清晰的关系 (软件工程)的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)