如何写出规范的好代码

在学校中我们都写过大大小小的代码,但我们写的代码真的好吗?什么样的代码才是好代码呢?好代码应该具有简洁、简短、高效、鲁棒、可共享、可扩展、测试移植方便、在公司的项目中还应具有可监控的特点。由此可见好代码的要求是很高的,代码是写给人看机器执行的,所以可读性一定要好,让人不需要思考很多就可以看懂代码。

代码要做到函数的功能要单一化(一个函数只实现一个功能),在函数的命名时要有意义(通过函数名就可以知道函数的功能),代码格式要规范,可以参考vs的代码排版格式,如果有头文件应该使头文件中函数的声明顺序与源文件中函数的定义顺序相同,所有的函数都应该遵循好测试的思想,尽量为自己的代码写好注释。

如何写出好代码?

工欲善其事必先利其器,也就是准备工作如果做的不充分,就草草开工,往往在最后发现功能可能开发错误或结果不正确需要重新调整,此时花费的成本过高。因此在需求开发前,我们应该先进行需求分析和系统设计,这样可以帮助我们正确的理解功能,然后再开发代码,在开发时应该边开发编写测试代码,保证开发的函数功能是正确的,否则都开完在统一测试,出现问题很难快速的定位问题,开发完成后要对代码进行上线和持续的运维迭代。

如何区分需求分析和系统设计?

需求分析:定义系统/软件的黑盒行为,即从外部看系统可以实现什么功能

系统设计:系统设计/软件的白盒机制,详细的说明系统的功能、组成,以及组件间是如何划分的

需求是系统设计的决策来源。

系统设计应遵循的约束:计算、存储、I/O网络(资源约束)


系统开发的注意事项:

(1)系统中每一个组件(子系统/模块)的功能都应该是单一的 

(2)功能单一是复用和可扩展的基础

(3)软件的耦合度要低

(4)接口的迭代过程中应实现前向兼容

程序、模块、函数间的关系:

模块(一般为一个文件,实现具体的功能)是程序的基本组成单位,模块的划分可为数据类的模块和过程类的模块。数据模块的主要功能:完成对数据的封装(模块的内部变量,类的内部变量)、对外提供明确的数据访问接口(数据结构和算法属于模块内部的工作);过程类模块的主要功能:本身不含数据(可从文件中读取数据),可以调用其他数据或过程类模块,主要完成操作。

模块的组成:

(1)文件头:模块的说明(功能简介)、修改历史(时间、人、修改的内容)、模块内荣的顺序应该一致

(2)函数:函数描述的三要素:功能描述@func、形参列表描述@params(含义、限制条件)、返回值的描述@return(函数返回值的可能性应该尽量枚举)函数的规模要尽量小,尽量控制在39行以内,如果c或c++要控制在两屏以内。函数应该为单入口单出口(如果存在多线程时更要单入单出,单出指函数只有一个return)

面向对象的实质是实现对数据的封装,开发程序时应该以数据为重心进行考虑问题,在过程类的模块中,与类的成员变量无关的函数,应该作为一个独立的函数放在类的外面,不作为类的方法,这样方便复用和扩展。

系统中多态和继承(最好不要超过3层)都应谨慎使用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值