`
最王座
  • 浏览: 136549 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

代码注释中的5要与3不要

阅读更多

代码注释,可以说是比代码本身更重要。这里有一些方法可以确保你写在代码中的注释是友好的:

不要重复阅读者已经知道的内容

能明确说明代码是做什么的注释对我们是没有帮助的。

// If the color is red, turn it green if(color.is_red()){ 
	color.turn_green();}

要注释说明推理和历史

如果代码中的业务逻辑以后可能需要更新或更改,那就应该留下注释。

/* The API currently returns an array of items 
even though that will change in an upcoming ticket. 
Therefore, be sure to change the loop style here so that 
we properly iterate over an object */var api_result ={items:["one","two"]}, 
items = api_result.items, 
num_items = items.length;for(var x =0; x < num_items; x++){...}

同一行的注释不要写得很长

没什么比拖动水平滚动条来阅读注释更令开发人员发指的了。事实上,大多数开发人员都会选择忽略这类注释,因为读起来真的很不方便。

functionPerson(name){this.name = name;this.first_name = name.split(" ")[0];// This is just a shot in the dark here. If we can extract the first name, let's do it }

要把长注释放在逻辑上面,短注释放在后面

注释如果不超过120个字符那可以放在代码旁边。否则,就应该直接把注释放到语句上面。

if(person.age <21){ 
	person.can_drink =false;// 21 drinking age /* Fees are given to those under 25, but only in 
	some states. */ 
	person.has_car_rental_fee =function(state){if(state ==="MI"){returntrue;}};}

不要为了注释而添加不必要的注释

画蛇添足的注释会造成混乱。也许在学校里老师教你要给所有语句添加注释,这会帮助开发人员更好地理解。但这是错的。谁要这么说,那你就立马上给他个两大耳刮子。代码应该保持干净简洁,这是毋庸置疑的。如果你的代码需要逐行解释说明,那么你最需要做的是重构。

if(person.age >=21){ 
	person.can_drink =true;// A person can drink at 21 
	person.can_smoke =true;// A person can smoke at 18 
	person.can_wed =true;// A person can get married at 18 
	person.can_see_all_movies =true;// A person can see all movies at 17 //I hate babies and children and all things pure because I comment too much }

注释要拼写正确

不要为代码注释中的拼写错误找借口。IDE可以为你检查拼写。如果没有这个功能,那就去下载插件,自己动手!

要多多练习

熟能生巧。试着写一些有用的注释,可以问问其他开发人员你的注释是否有用。随着时间的推移,你会慢慢懂得怎样才算是友好的注释。

要审查别人的注释

在代码审查时,我们往往会忽略查看注释。不要怕要求更多的注释,你应该提出质疑。如果每个人都养成写好注释的好习惯,那么世界将会更美好。

总结

注释是开发进程中非常重要的一部分,但我们不应该为了注释而注释。注释应该是有用的,简洁的,应该是对代码的一种补充。注释不应该用于逐行地解释代码,相反,它应该用于解释业务逻辑,推理以及对将来的启示。

分享到:
评论

相关推荐

    java贪吃蛇源代码 带详细注释的撒~~

    java 贪吃蛇源代码 带详细注释的撒~~ 写了一个多星期~~ 规则: 1,方向键或WASD控制方向; 2,F11、F12或Z、X键可以加减速度; 3,Enter键暂停、开始; 4,可以直接通过拉伸改变窗口大小,但注意不要把食物拉动到窗体...

    Python基于opencv人脸识别的考勤系统源码+详细代码注释(毕业设计).zip

    Python基于opencv人脸识别的考勤系统源码+详细代码注释(毕业设计).zip 【资源说明】 Python基于opencv人脸识别的考勤系统源码+详细代码注释(毕业设计).zip Python基于opencv人脸识别的考勤系统— 使用说明: 1.打开...

    用javascript动态注释掉HTML代码

    注意:动态注释的html中不能再有html注释代码”&lt;!– –&gt;”,[removed]与&lt;/ script&gt;之间,不要有”&lt;!–“和”//–&gt;” 除了这个方法,你还可以用document.getElementById(“xx”).style=”none”;这种方法...

    期末大作业基于MySQL+PyQt5开发的选票系统python源码+详细注释+sql数据库及操作记录.zip

    期末大作业基于MySQL+PyQt5开发的选票系统python源码+详细注释+sql数据库及操作记录.zip 目录 一、 前期准备 1 1安装软件 1 2.配置虚拟环境 1 3.安装相关模块 3 (1)安装 PyQt5 3 (2)安装 Qt Designer 3 (3)安装...

    java代码规范详细版

    2. 代码格式 5 2.1 源文件编码 6 2.2 行宽 6 2.3 包的导入 6 2.4 类格式 6 2.5 域格式 6 2.5 方法格式 6 2.6 代码块格式 6 3. 注释规范 9 3.1 注释 vs 代码 9 3.2 Java Doc 9 3.3 块级别注释 10 3.4 行内注释 11 4 ...

    关于ART自适应神经网络的代码,matlab实现,英文注释,初学者切勿下载,不喜英语也不要下载,只提供样例。

    分为5个小文件夹: 1. AR模型系数与LM神经网络完成微弱信号识别 2. 模糊ARTMAP 神经网络 3. ART神经网络的原理方法 4. ART3神经网络 5. ART神经网络

    阿里巴巴编码规范 基础技能认证 考题分析(考题+答案).docx

    关于代码注释,下列哪些说法符合《阿里巴巴Java开发手册》:ABD A .特殊注释标记,请注明标记人与标记时间。 B .待办事宜(TODO):( [标记人,标记时间,[预计处理时间]) C .在注释中用FIXME标记某代码虽然...

    C版本MD5库

    代码是从bPostgreSQL中的库文件copy出来的,经过自己的测试,重新提取打包出来的 目前这个库的代码是在 PG 的 8.5RS 里面用的 MD5 返回的是一个 32位的消息hash因此需要一个char 类型的返回buf query_md5 =(char *...

    代码语法错误分析工具pclint8.0

    该文件,在该文件开始的注释中说明了如何将PC-LINT功能集成在开发环境中,集成在Sou rce Insight中的过程如下: 1)从Options菜单中选择“Custom Commands”命令项。 2)在Name栏中输入“PC-lint ”,原则上这...

    C#编码规范,共享参考

    3. 一个文件最好不要超过500行的代码(不包括机器产生的代码)。 4. 一个方法的代码长度最好不要超过25行。 5. 避免方法中有超过5个参数的情况。使用结构来传递多个参数。 6. 每行代码不要超过80个字符。 7....

    零起点学通C++多媒体范例教学代码

    第5章 if语句与运算符 5.1 语句的定义 5.2 块的定义 5.3 表达式的定义 5.4 运算符的定义 5.4.1 赋值运算符的定义 5.4.2 数学运算符的定义 5.4.3 赋值运算符与数学运算符的联合 5.5 自加与自减 5.5.1 前置 5.5.2 后置...

    ABAP中文幫助文檔

    如果选择该字段,则所有的程序代码(除了引号中的文本及注释外)都转换成大写字母。屏幕显示依赖于所使用的编辑器模式(详细信息,参见文档《ABAP/4工作台工具》。  编辑器锁定:如果设置此属性,则其他用户则不能...

    javascript入门笔记

    3、将JS脚本编写在外部独立的JS脚本文件中(***.js) 步骤: 1、编写JS脚本文件 2、在HTML中引入脚本文件 [removed][removed] 练习: 1、先创建一个 base.js 的文件 2、在文件中执行以下代码 console.log(" ...

    C语言编辑器,由VB代码开发

    查找与替换:查询源代码文件中如函数.变量.宏定义等信息,并可以替换为新内容;  4.文件保护:对重要源代码文件进行加密;  5.优化TC中生成的文件:按您的要求分别存放*.C,*.OBJ,*.BAK,*.EXE文件;  6.自动添加报头...

    MP3格式解析

    这里要注意不要将采样率与位速相混淆。 二、MP3文件整体结构 MP3文件大体分为三部分:TAG_V2(ID3V2),Frame, TAG_V1(ID3V1) ID3V2标签帧 ID3v2在文件头,以字符串“ID3”为标志,包含了演唱者,作曲,专辑等信息,...

    编写Js代码要注意的几条规则

    1.不要大量使用[removed]() 2.检查客户端支持对象的能力(渐进式)而不是检查其...代码要保持独立,不要使用可能与其他脚本冲突的全局变量。(可用对象字面量) 8.注释代码功能,因为将来维护代码的可能就是你自己。

    编写可维护的JavaScript(中文)

    《编写可维护的JavaScript》向开发人员阐述了如何在团队开发中编写具备高可维护性的JavaScript代码,书中详细说明了作为团队一分子,应该怎么写JavaScript。本书内容涵盖了编码风格、编程技巧、自动化、测试等几方面...

Global site tag (gtag.js) - Google Analytics