|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 多言数穷 于 2019-12-27 10:18 编辑
* b: V2 r+ v7 V1 U4 l0 n
7 Y; T, H/ P4 `- Q, Q3 ?+ B0.1前言
& b+ g) y P7 q9 }$ Z为提高产品代码质量,指导广大软件开发人员编写出简洁、可维护、可靠、可测试、高效、可移植的' y4 L3 I$ s# R1 |
代码,编程规范修订工作组分析、总结了我司的各种典型编码问题,并参考了业界编程规范近年来的
0 \4 o' S3 V: N7 f成果,重新对我司1999年版编程规范进行了梳理、优化、刷新,编写了本规范。5 J7 s, D- t2 t H
本规范将分为完整版和精简版,完整版将包括更多的样例、规范的解释以及参考材料(what & why) ,
: v( X0 D& W P2 O. ~而精简版将只包含规则部分(what)以便查阅。
7 w* z6 y2 i& l) j在本规范的最后,列出了一些业界比较优秀的编程规范,作为延伸阅读参考材料。3 @7 l8 [. C% F6 Z: C) x
0.2代码总体原则9 C$ J! m7 \+ {, i1 N7 C a
1、清晰第一1 P8 v/ I; J) e9 r! z6 n
清晰性是易于维护、易于1构的程序必需具备的特征。代码首先是给人读的,好的代码应当可以像文7 C! Z, F4 y t0 O3 E. }
章- -样发声朗诵出来。( c8 h3 @$ z& K9 Z+ \4 p, M9 u0 R
目前软件维护期成本占整个生命周期成本的40% ~90%。根据业界经验,维护期变更代码的成本,小型系
9 X' O/ k( y4 X! H4 X* p! \. Y统是开发期的5倍,大型系统(100万行代码以上)可以达到100倍。业界的调查指出,开发组平均大约
3 U( t {. R" Y5 N4 \一半的人力用于弥补过去的错误,而不是添加新的功能来帮助公司提高竞争力。- h S2 J: p, o8 \
“程序必须为阅读它的人而编写,只是顺便用于机器执行。”.一Harold Abelson和Gerald Jay
! D& S$ C3 b# {5 A C- R' fSussman5 H; U+ f2 D: d7 m$ V9 d
“编写程序应该以人为本,计算机第二。”一-Steve McConnell
# t* M a g8 _本规范通过后文中的原则(如头优秀的代码可以自我解释,不通过注释即可轻易读懂/头文件中适合放5 U1 r8 M- p, M$ n$ p2 x
置接口的声明,不适合放置实现/除了常见的通用缩写以外,不使用单词缩写,不得使用汉语拼音)、
$ b( {6 [9 ?$ I8 p8 c" h* W规则(如防止局部变量与全局变量同名)等说明清晰的重要性。
" K; @" c+ d5 ]% E& j- -般情况下,代码的可阅读性高于性能,只有确定性能是瓶颈时,才应该主动优化。
9 N( @+ T3 ?2 |" Q2、简洁为美
2 h u) K* {& ]0 b" g; A5 t- r3 ^0 P简洁就是易于理解并且易于实现。代码越长越难以看懂,也就越容易在修改时引入错误。写的代码越
& t( f7 e; o* R多,意味着出错的地方越多,也就意味着代码的可靠性越低。因此,我们提倡大家通过编写简洁明了
( \ e; |5 e: D7 s, ]的代码来提升代码可靠性。+ g% x0 [: b- n; V# {7 |2 e
废弃的代码(没有被调用的函数和全局变量)要及时清除,重复代码应该尽可能提炼成函数。
% X' R' P0 s6 O+ U% c) s3 F4 l本规范通过后文中的原则(如文件应当职责单- -/-一个函数仅完成一-件功能) 、规则(重复代码应该尽
, ?) ~+ S# B0 f1 M4 D! K可能提炼成函数/避免函数过长,新增函数不超过50行)等说明简洁的重要性。
7 I# D, z$ |1 N6 Y8 h' Z( g |
|