网站大量收购独家精品文档,联系QQ:2885784924

编码规则(可维性).doc

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编码规则(可维性)

维护性 2006/11/10 V1.00 大多嵌入式软件开发中,都会在制作完成的软件上进行维护作业。   维护的原因各种各样,例如: 发布的软件中发现Bug,需要修改。 对应产品的市场要求,以既存软件为基础,追加新的功能。  等等。   像这样,在制作好的软件上加工,要尽量避免错误,有效的进行。  系统界管这叫维护性。  在此,整理了维护、提高嵌入式软件源代码维护性的一些惯用方法。 维护性1???意识到其他人也会看你的代码。 维护性2???使用不会改错得方法。 维护性3???把程序尽量简单化。 维护性4???统一编码方法。 维护性5???使用便于测试的编码方法。 维护性6???Uniden(株)Know-how集。 维护性1 意识到其他人也会看你的代码。 在制作源代码时考虑到,它会被制作者以外的技术者再利用或维护。因此,源代码要使用容易理解的表现方式。 「维护性1 」有以下12个惯用做法。 维护性1.1 不保留不使用的代码。 维护性1.2 不使用麻烦,杂乱的写法。 维护性1.3 不使用特殊的写法。 维护性1.4 演算的优先顺序明确易懂。 维护性1.5 不省略取得函数地址的演算、比较演算。 维护性1.6 一个领域用于一个目的。 维护性1.7 不重复使用名字。 维护性1.8 不使用容易理解错的语言规格。 维护性1.9 在特殊的方法中写明意图。 维护性1.10 不掩埋Magic Number。 维护性1.11 明示领域属性。 维护性1.12 不编译的语句也要正确记述。 维护性1.1 不遗留不使用的代码。 M1.1.1 不声明(定义)没有使用的函数、变量、参数、标签。 参考规则 无 相关规则 M1.9.1 M4.7.2 M1.1.2 不应该把代码的一部分“Comment out”。 参考规则 MISRA-C 2.4 相关规则 M1.2.1 M4.7.2 <正确例>   #if 0 /* 因为~、无効化 */ a++; #endif <不正确例> ??????? /* a++; */ ??????? } 如果需要把代码部分无効化,建议不要用Comment out,而是用#if 0圈住。 或者确定一个无効化代码的明确规则也行。 但是,留下无効代码会导致代码不好读,还是应该避免的。 note 在调试时,会Comment out一部分代码,但是调试结束后不要忘了解除Comment ,否则可能会发生Bug。如果限制了Comment out代码,就可以在早期发现这些Bug。 维护性1.2 不使用麻烦,杂乱的写法。 M1.2.1 用于相同目的的相同类型的自动变量,可以用1个声明语句进行多次声明,但是不可以混合初始化的变量和不初始化的变量。 参考规则 无 相关规则 M1.6.1 <正确例>   int j, k; int l = 0; int *p; int q; <不正确例> int j, k, l = 0; /* 混有初始化的内容 */ int *p, q; /* 混有不同类型的变量 */ 如果声明了int *p;,那么类型就是int *、如果声明了int *p, q;,q的类型不是int *、而是被解释为int。  note     写常量时,如果不使用接尾语的话,整数常量为int型、浮动小数点常量为double型。但是,整常量中如果有int不能表现的值,那么这个值将会变成能表现它的类型。因此,0x8000在int为16bit时为unsigned int,但在 int为 32bit时变成signed int。如果想把它作为unsigned使用的话,把”U”写为接尾语。另外,在浮动小数点的float型和double型演算速度不同的Target System中,进行float型的变量和浮动小数点的演算时,如果浮动小数点常量中没有”F”,这个演算就会变成”double”型的演算,这一点需要注意。要在浮动小数点常量上多下些功夫,使其一看就能知道是浮动小数点常量,比如在小数点左右最少要写一个数字等等。     特别是在演算精度、演算速度很重要的程序中,必须要充分理解实际是使用的那种类型的演算。(不要Cut&Try。) 整数常量的类型 接尾语u/U: unsigned int, unsigned long 接尾语l/L: long, unsigned long 接尾语u/Uとl/Lの両方: unsigned long 浮动少数点常量的类型 接尾语f/F: float 接尾语

文档评论(0)

gov469 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档