3032|6

47

帖子

2844

TA的资源

一粒金砂(中级)

楼主
 

如何编写高质量程序代码 [复制链接]

前言
架设桥梁,如果没有缜密的设计与施工控制,那么这座桥只能带来灾难。建造摩天大楼,同样如果没有严谨的结构设计,可能施工不久,它就坍塌了。软件项目开发与筑桥梁建大厦一个道理:都不能任性随意而为。没有经过精细分析设计结构,没有实施高质量的过程控制的软件产品,同样是不能创造任何价值的垃圾,它只能给我们带来各种各样的损失!

结构清晰
不管什么样的人造事物,都是由功能明确单一的N多个功能单元,组合在一起构成的。比如房屋,它是由地基、承重墙、承重梁、门、窗、屋顶等功能单元通过水泥钢筋衔接在一起的。房屋每一个功能单元实现特定的功能,而且功能之间几乎没有重叠的部分。程序结构一样,需要根据项目的要求进行功能单元划分,每一个单元都完成功能明确单一的任务,不同单元之间几乎不存在重复或组合完成的功能,然后不同的单元组合在一起,最终实现项目要求。“高内聚低耦合”是编写高质量程序代码的必要特征。
复杂度低
处理事情,一定要使用最简单的方法去处理,这样做事才会高效稳妥。写程序一样,编写代码进行处理数据,必须要遵循程序代码复杂程度最低的原则。要做到:能简化的计算过程,必须要简化之后再用程序计算;绝对不要贪图方便而随意使用没经过简化且难于分析的逻辑;为了寻求轻松而放弃简化,大量使用深层嵌套;本来可以使用常量,结果随意定义并使用变量等等。总而言之一句话:程序代码一定要结构简单、运行高效、易于分析,复杂度低。
良好的编码风
好的代码,一定要有好的命名规则,要有好的注释习惯,要有好的代码书写格式。这样,在维护程序代码的时候,才会提高程序的易读性与可维护性。程序是写给别人看的,不是写给自己看的!写程序并不是要你向别人炫耀你的编程技巧,而是要让你的思想能被别人轻松的读懂。
重复率低
筷子是世界上最神奇的餐具,拿在手中,用它夹什么菜都可以。但西餐的餐具可就复杂的有些让人看不懂了,它的某个餐具,极有可能是为了吃某道菜而设计的。讲到这,大家可能感受到使用西餐的餐具有多不方便了。写程序一样,要尽量避免在项目中存在功能重复的多段雷同的代码存在。如果功能重复的代码多了,要考虑将它们提取出来,而形成一个独立的单元。代码重复率越低,程序代码规模越小,开发工作越少,程序的可维护性越高。
算法严谨
程序是由算法与数据结构组成的。算法是加工处理数据的过程。由此可见,算法对程序运行的效率与可靠性是至关重要的。算法,一定要结构严谨、逻辑严密,要做到万无一失,才能确保程序质量。

此帖出自编程基础论坛

最新回复

谢谢分享,希望楼主带来更具体,分点,具有可操作性的分享。   详情 回复 发表于 2024-10-22 11:34
点赞 关注
 

回复
举报

6

帖子

1

TA的资源

一粒金砂(初级)

沙发
 
谢谢楼主分享
此帖出自编程基础论坛
 
 
 

回复

6

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
谢谢楼主分享
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

4
 
相比于常见的瀑布型,其实有很多更新的思路,更加轻量,而且更加容易具有可操作性。
当前对于绝大多数中小公司,很多时候,放到一个具体项目上的人员可能就那么几个人,而且通常是一个岗位一个人。
例如硬件一人(通常可能还是兼顾其他项目),软件一个人......

在这种情况下,还要求这样,从一开始就 精确 其实是很不实际的。

所以才会有那么多新的 敏捷开发方法,精益开发方法。
尽管不容易落到实处,但也证明这种传统大而全,自上而下的东西,已经不满足实际需求了。
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

5
 
谢谢分享,希望楼主带来更具体,分点,具有可操作性的分享。
此帖出自编程基础论坛
 
 
 

回复

6105

帖子

4

TA的资源

版主

6
 
谢谢分享 谢谢分享
此帖出自编程基础论坛
 
 
 

回复

419

帖子

0

TA的资源

纯净的硅(中级)

7
 

谢谢分享,希望楼主带来更具体,分点,具有可操作性的分享。

此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表