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

ch1编程之道--代码风格的重塑.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Agenda 1.1 为什么要规范代码风格 1.2 常用的几种代码风格 1.3 deWiTTERS 风格基本规则 1.4 代码风格的内容 1.4.1 标识符的命名规则 1.4.2 代码布局 1.4.3 注释 1.1 为什么要规范代码风格 计算机科学,计算机文化,计算机技术,计算机艺术 正确和规范的关系。 1.2 常用的几种代码风格 KR风格 BSD风格 GNU风格 Windows风格 deWiTTERS 风格 1.3 deWiTTERS 风格 deWiTTERS 风格的基本规则有3条: 1)尽量可理解 2)尽量可读,除非与以上规则矛盾 3)尽量简单,除非与以上规则矛盾 反过来说,我们写一段程序要尽量简单,除非影响到了它的可读性和可理解性。 代码风格和具体使用的编程语言有关,但基本规则是不变的。 1.4 代码风格的内容 哪些属于语言定义?哪些属于代码风格? 正确 vs 规范 标识符的命名规则 变量名、常量名、宏名、函数名、类型名、类名、对象名、方法名 文件名、模块名、项目名 提交安装文件或文档的命名 布局(布白) 缩进 空格,空行 花括号的位置和对齐 注释 版权注释 文件版本历史 文件或模块的功能 函数注释 函数内注释 文件结构和项目结构 一个项目划分成几个文件 文件的组织 1.4.1 标识符的命名规则 标识符 包括标签(label),函数名(function name),宏名,常量名,变量名,宏名,以及文件名,模块名。 1. 用英语,要求准确,简单,专业。 避免拼音,避免容易误解的多义词 2. 根据情况是否用缩写。 用单词的前面部分缩写,可以不必管词性(名词,形容词,动词),单复数,时态等。但有时也可能因此带来不便。 缩写 函数名,变量名不是非常必要缩写的不用缩写。 缩写分为: 1。字头缩写(Acronyms), 宜用大写。如 HECO.??_HECO_...??必要情况下可以用小写。如果作为一个很著名的,有明确含义的缩写,如HECO,则用缩写比不用缩写更清楚。 2。长单词缩短:有几个原则: ? ???a)通用,如 temp表示 临时,则表示温度时应用全称temperature或 temper ? ???b)同一个模块(项目,文件,函数。。)应保持一致。 ? ???c)7个字母以下的单词通常不缩写。 ? ???d)用单词的前一部分 ? ???e)用辅音字母。 ? ?? ?? ?d和e通常只选择一个。并且以d为好,因为用grep有哪些信誉好的足球投注网站单词的前面部分可以有哪些信誉好的足球投注网站出所有经过和没有经过缩写的单词。 缩写 (cont.) 缩写宜遵从约定或惯例。 固定含义的缩写 temp? ? tmp 表示??temporary temporarily 可以用temper表示 temperature com 通常表示 communicate/communication comp (或cmp)表示compare/comparation 函数内部的局部变量(作用范围很小,或者函数很小)可以用缩写,如 index缩写为 idx,count缩写为cnt等。 但对于较长的函数,用全称可能更清楚。 缩写 (cont.) 以下为不好的例子: ? ? ? ? axGetCellInstMasterByName() ? ? ? ? axuGetPortInstMstByName() 同一个文件中Master既有缩写,又有不缩写的。 全局变量,局部变量,参数 全局变量,局部变量,参数。 标识符包括?标签(label),函数名(function name),宏名,常量名,变量名,宏名,以及文件名,模块名。 变量名有 全局变量,局部变量(函数内部),参数名。 最好在命名时有所区别。 全局变量:尽量避免使用。如果需要,将一个模块内所有全局变量集中在一起。。。。。 参数: 需要与局部变量能区分开来,尤其是函数较大的时候。 _IN _OUT _INOUT 局部变量: 变量命名惯例 尽量避免使用 number这个有歧义的词。 序号? ?? ?? ?? ?? ???index 总数(计数)? ???count 唯一标识? ?? ?? ???ID 大小? ?? ?? ?? ?? ???size 长度? ?? ?? ?? ?? ???length 或 len 但有些固定的用法,比如行号??lineNumber??好像还是 沿用旧例??LineNum??或 LineNo. 变量命名惯例 (cont.) ..._name 表示字符串类型,不必说明 String flatPortName, flatCIPath, flatCIName, flatNetPath, flatNetName; flatCIPath, flatNetPath 是不好的风格,应该保

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档