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

上海大学软件工程研讨.pptx

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

软件工程研讨3、源程序文档化变量、常量和函数的命名规范变量命名(Variable Names)变量名所有字母小写,单词之间用下划线(_)分开,类成员变量以下划线结束。普通变量命名(Common Variable Names)比如:string table_name; // 可以-使用下划线string tablename; // 可以-全部字母小写string tableName; // 糟糕-大小写混合类数据组成变量命名(Class Data Members)数据成员(又叫实例变量或者成员变量)的命名与普通变量一样,全部字母小写,可选的下划线分隔符,但应该以下划线结束。string table_name_; // 可以-以下划线结束string tablename_; // 可以结构体成员变量命名(Struct Variables)结构体成员变量和普通变量命名规则一致,且不像类成员变量以下划线结束。struct UrlTableProperties{ string name; int num_entries;}全局变量命名(Global Variables)全局变量的使用较为罕见,但当用到时,考虑以前缀g_开头或标以其他记号,以便与局部变量区分。常量命名(Constant Names)K后跟混合大小写的名称:kDaysInAWeek。所有编译时常量,不管是被声明为局部、全局还是作为类的成员,都应该遵守与其他变量命名有轻微差别的命名约定:k后跟单词首字母大写的名称:const int kDaysInAWeek = 7;函数命名(Function Names)正规函数名应该以大写字母开头,单词首字母大写,不使用下划线。如果函数可能因错误而崩溃,应该在函数名后加上OrDie。这仅适用于那些被产品代码调用或者正常操作有可能引起错误的函数。AddTableEntry()DeleteUrl()OpenFileOrDie()访问器和修改器(Accessors and Mutators)访问器和修改器(get和set函数)应该与它们关联的变量名匹配。下面显示了一个类的部分摘录,它有一个实例变量num_entriesclass MyClass{ public:...int num_entries() const{return num_entries;}void set_num_entries(int num_entries){num_entries = num_entries;}private: int num_entries_;};你也可以使用小写字母和下划线来命名非常短小的内联函数。比如,如果一个函数的调用开销很小,在循环调用时,没必要缓存其值,这时,小写字母命名是允许的。对文件、类、函数、变量和逻辑功能段进行注释的规范 文件注释(File Comments)每个文件都应该提供版权信息,然后是文件内容的综合性描述。合法公告和作者信息行(Legal Notice and Author Line)每个文件都应依次包括以下条目,1、版权声明(比如Copyright 2008 Google Inc.);2、一个许可引用。选择适合你项目使用的许可引用(比如Apache 2.0、BSD、LGPL、GPL)3、作者信息行说明文件原始作者如果你对原始作者的文件做了实质性修改,可以在作者信息行加上你的名字。当其他开发者有问题时,这样可以方便他们正确地联系到修改者。文件内容注释(File Contents)每个文件都应该在其版权信息及作者信息后面和内容前面有一个内容描述性的注释。通常,头文件描述它所声明的类的目的及用法。而源文件则应该包含更多有关实现和技巧性算法的讨论信息。但如果你觉得这些信息对于头文件的阅读者更有用,可以将其放在头文件中,但在源文件中应该注明其文档在头文件中。不要在头文件和源文件中重复注释,这样容易造成歧义。类注释(Class Comments)每个类定义都应该伴随有说明其目的和用法的注释。// 遍历GargantuanTable的内容。用法示例:// GargantuanTableIterator* iter = table-NewIterator();// for(iter-seek(“foo”);!iter-done();iter-next()){// process(iter-key(),iter-value();// }// delete iter;Class GargantuanTableIterator{...如果你在文件开始就已对类进行了详细描述,可以在类实现部分简单地声明“参见文件开始注释部分的完整

文档评论(0)

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

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

1亿VIP精品文档

相关文档