注释相关论文范文例文,与代码整洁与代码质量相关毕业论文怎么写

时间:2020-07-05 作者:admin
后台-系统-系统设置-扩展变量-(内容页告位1-手机版)

本论文是一篇注释相关毕业论文怎么写,关于代码整洁与代码质量相关毕业论文的格式范文。免费优秀的关于注释及代码及函数方面论文范文资料,适合注释论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。

摘 要:软件质量不仅依赖于架构及项目管理,而且与代码质量紧密相关.而代码质量与其整洁度成正比.将需求明确到机器可以执行的程度,就是编程要做的事,这种规约就是代码.糟糕的代码可能毁掉一家公司,混乱代码的代价是驱动生产力不断趋向零,整洁不仅与效率有关,而且关乎企业的生存.总结了如何在代码中达到cleancode,即整洁和干净代码的经验规则.

关 键 词:代码整洁;代码质量;软件质量;注释;命名;类

中图分类号:TP306文献标识码:A文章编号文章编号:16727800(2013)0010003803

作者简介:曹娜(1982-),女,国际商业机器科技(深圳)有限公司上海分公司助理工程师,研究方向为软件开发、Web2.0.

1有意义的命名

终端用户响应的时间中,有80%用于下载各项内容.这部分时间包括下载页面中的图像、样式表、脚本、Flash等.通过减少页面中的元素可以减少HTTP请求的次数,这是提高网页速度的关键步骤.

减少页面组件的方法其实就是简化页面设计.那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少HTTP请求次数同时又可能保持页面内容丰富的技术.

1.1名副其实

要严肃对待这个问题.在起一个表意的名字上花时间是值得的,优秀程序员从细节做起.如果名称需要注释来补充,那就不是“名副其实”.

反例:

intd;//消逝的时间,以天计算

范例:

IntelapsedTimeInDays;

IntdaysSinceCreation;

IntdaysSinceModificatin;

IntfileAgeInDays;

以上问题不在于代码的简洁度,而在于代码的“模糊度”.再简短的代码,如果不能表达含义,也不能做到“名副其实”.下面反例中所示的代码够简单了,但是没人知道theList是什么东西、theList[0]的意思是什么、4是什么意义、以及返回list1该怎么用.这就是“模糊度”,因为意义比较模糊,所以这些代码也不“名副其实”.应该根据这段代码的意图来修改这里的函数名、变量名、值(4)的含义(用常量).

反例:

Java:pulicListgetThem(){

Listlist1等于newArrayList();

For(intx:theList)

If(x[0]等于等于4)

list1.add(x);

returnlist1;

}

1.2命名要避免误导

程序员必须避免留下掩藏代码本意的错误线索.如:accountList这个名字就不太好,因为list这个词在Java中是一个类型,如果这个名字表达的类型或者含义不是list就不应该这样命名.

1.3做有意义的区分

(1)不要用数字命名,如:a1,a2,a3.某些特定的以数字命名还是可以的,比如byteArray2String.这里2同“To”.但一般在名称后接数字是不好的习惯.

(2)废话是另一种没有意义的区分.如:有一个类叫Product类,那么ProductInfo与ProctductData就是没有意义的区分,因为它们含义几乎一样.如果约定Product是实体类,ProductInfo是纯数据,那么还是有意义的,可以接受的.但是同时还存在ProductData就明显不好了,并且这样还是增加了一些理解成本,因为从名字上无法直接判断.nameString不比name好,原因很简单:name就其含义来说其类型一定是字符串,所以String是冗余的废话.这种程度的冗余笔者认为还是可以接受的,但是不能又出现nameStr、strName、string_name等.如果出现,说明命名规则有问题或者命名规则的执行有问题.

(3)使用可以读出来的名字.

(4)使用可以搜索出来的名字.比如数值型常量,可以起一个有意义的名字便于搜索.另外,一个好的名字往往可以更加准确地表达常量在特定场景里的含义.

(5)匈牙利命名法.匈牙利命名法基本上没有必要使用,主要理由是它的长处在消减,而短处却十分明显.长处减弱:现代的编译器已经智能了,完全可以无视类型的作用.但是对于弱类型的javascript来说,还是有其必要的.理由是因为它是弱类型,而为了避免类型转换自由带来的bug,保持类型前后缀还是有其作用的,这类类型前缀除了类型语义之外还有对其用法的约束.如果是纯粹的表达类型,那么大量的前后缀毫无疑问将对阅读带来障碍.弱点:冗余.除了冗余之外,匈牙利命名法还有致命的缺点:就是变化可能使类型加入命名带来“副作用”:比如phoneString或者是stringPhone,它强调了phone是string类型的,因此也就限制了phone,而phone可能需要设计或者转换为number型的.当这种转换发生时,可能需要更改phone的命名为phoneNumber而导致重新命名的代价,或者需要与别的系统通信而导致phoneNumber与phoneString同时存在而导致理解偏差.

(6)成员前缀.不必使用m_前缀来标明成员变量.一般来说使用m_前缀来作为成员变量,主要的理由是便于在开发环境的智能提示中快速找到相应的变量,但是当需要命名前缀来提高查找速度的时候,往往说明类过大了,违背了一些需要考虑的设计原则,比如“单一职责原则”.


写注释论文的要求
播放:20632次 评论:6368人

(7)接口和实现.接口不需要以I开头,如果一定要选择一种表示接口的编码,要选择用实现区分,而不是接口的前缀命名.如:IShapeFactory和SharpFactory之间,应选择后者作为接口名.大家都知道,按照《.设计规范》,接口是应该用I前缀命名的.但是我们要理解:首先,设计者可能虽然选择接口实现,但并不需要接口和抽象类的区分,希望客户不关注这点;其次这也存在将前缀含义加入名称的一个“副作用”,当SharpFactory需要变化成抽象类时,前缀命名就是一个巨大的包袱了,必须修改所有的名称.(8)避免思维映射.不要让读者把一个名称翻译为他们熟知的名称.这里的含义应该是避免这种思维固定翻译导致的程序误读.比如说一个循环去处理字符a、b、c、xxx.如果把变量也取名为a就不好了.

(9)避免用双关语.避免将同一单词用于不同目的.统一术语用于不同概念,基本就是“双关语”了.如:add表示增加或者连接两个值,那么集合中添加一个元素就不能用add,因为含义已经不一样了.

2函数

2.1函数要短小、再短小

函数的第一条规则是要短小,第二条规则还是要短小.经验告诉我们,函数就是要短小,20行封顶最佳.每个函数都一目了然,每个函数都做一件事,而且每个函数都依序带到下一个函数,这就是函数应该达到的短小程度.

2.2只做一件事

如何判断函数是做了一件事?就是函数所做的事情都在一个抽象层级,叫“只做一件事”.如果各个层级抽象混杂在一起,显然就做了不止一件事了.但是什么叫一个抽象层级呢?取决于函数解决特定问题、以及这个问题应有的“视角层次”和这个视角层次对应的“边界”.举个例子说明“视角层次”和“边界”:问“明源软件研发体系的整体组织架构是怎样的”?观察对象:“明源软件公司”期望看到“研发体系的整体组织架构”.答:“平台、陈立刚、产品、测试”.显然陈立刚在整体组织架构这个边界是看不到į

1 2

注释相关论文范文例文,与代码整洁与代码质量相关毕业论文怎么写参考文献资料:

大专自考本科

本科生毕业论文模板

成人自考本科数学

成人本科自考时间

本科论文致谢部分

本科论文修改意见

本科毕业生论文题目

本科毕业设计论文

成人本科报名

中文本科

后台-系统-系统设置-扩展变量-(内容页告位2-手机版)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:123456789@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。
后台-系统-系统设置-扩展变量-(内容页告位3-手机版)