13条注释 tips
2016-06-29 16:41
211 查看
下面的13条小贴士可以帮助你写出更规范、更容易维护的代码注释。
1、逐层注释
使用统一格式对每一个语句块进行注释,如:
类:简单描述、作者、最后修改时间等
方法:关于该方法的目的、函数、参数、返回值的描述
在团队工作中,使用统一的注释规范显得尤为重要。当然,也推荐使用一些专门用来添加代码注释的工具,如C#中的XML、Java中的Javadoc等。
2、使用段落型注释
将代码分割成能完成独立任务的段落,并在其前后添加注释,告诉读者程序将要做什么。
3、对齐连续的行注释
若对多行添加行末注释,应将注释进行对齐,以便于阅读。
有些程序远使用制表符来进行对齐,有些则使用空格。建议使用空格来对齐,因为不同的代码编辑器对制表符的处理会不一样。
4、不要侮辱读者的智商
不要用这样的注释:
if (a == 5) // 如果a等于5
counter = 0; // 就将counter的值赋为0
这样做只会浪费你的时间,而且读者的注意力会被从代码中转移。
5、注意礼貌
避免使用无礼的注释,如:注意有些蠢蛋会输入一个负数;这修复了程序最初版本遇到的问题,那个无个救药的笨蛋。这样的注释会反映作者的素质,而且你不知道将来谁会读到你的程序:你的老板、顾客,或者是你刚才辱骂过的那个程序员。
6、讲重点
不要在写冗余的注释,也不要用所谓的字符艺术、玩笑、小诗等。总之要保持注释的简单和直接。
7、坚持统一风格
有些人认为代码注释应该简单到让不会编程的人也能看懂,另一些人则认为代码注释只要让程序员看懂就可以了。不管怎样,正如《撰写代码注释的成功策略 》中所提到的,代码注释的风格应该是固定的,是为同一个观众准备的。而且我个人认为不太会有非程序员来阅读代码,所以代码注释应该只是针对其他程序员的。
8、使用内部统一规定的标签
在进行团队开发时,可以在注释中使用一些特殊的标签。比如在一些团队中使用“TODO:“标签来表示这里还需要完成其他的一些任务。
int Estimate(int x, int y)
{
// TODO: 实现这项计算
return 0;
}
这里所使用的标签注释并不是用来解释代码,而是引起读者注意并传递一些信息。如果你的团队确实在使用这类注释,就要保证会依此进行作业。
9、边写代码边注释
在写代码的时候,乘脑中记忆还清晰,及时写上注释。如果你想在程序编写完之后再添加注释,也许就会花费你两倍的时间。“我没有时间添加注释”、“我很忙”、“这个项目已经有所拖延了”都将会是你的借口。有些程序员认为你应该在编写代码之前就写好注释 ,以为你的最终方案作出计划。如:
public void ProcessOrder()
{
// 保证这些产品是可以购买得到的
// 检查用户时候合法
// 向商店发出订单
// 生成账单
}
10、就当是为自己写注释(事实上的确是让你自己看的)
在添加代码注释时,要想到这些注释不仅是为将来维护代码的程序员而写,也是为你自己而写。用伟大的Phil Haack 的话来说:“当一行代码写好并出现在屏幕上时,你就变成了一名维护人员。”所以,我们自己将会成为代码注释的第一个受益人或受害者。
11、更新代码时同时更新注释
如果注释不随着代码的改变而修改,那在准备的注释也是没有用的。代码和注释应该始终保持同步,否则这些文不对题的注视将使维护人员摸不着头脑。对于那些自动添加注释的工具要格外注意,不要让它忽略更新注释。
12、黄金准则:写可读的代码
有一条基本准备叫“让代码解释它自己”。虽然有人认为这个倡议是由一个懒得写注释的程序提出的,但不可否认的是一条可以自我解释的代码可以让其变得更为易懂,并让注释显得不那么重要。如,在我的Fluid
Interfaces 文章中有一些可以自我解释的代码的例子:
Calculator calc = new Calculator();
calc.Set(0);
calc.Add(10);
calc.Multiply(2);
calc.Subtract(4);
Console.WriteLine( "Result: {0}", calc.Get() );
在这个例子中,代码不需要注释,否则会违反本文的第四条贴士。要写出可读的代码,你应该考虑使用恰当的名称(在Ottinger's Rules 中有所叙述),确保标识正确,并根据代码规范 来撰写。如果没有遵循此条建议,注释可能会被看作是代码的一种“道歉”。
13、和你的同事分享这些贴士
虽然第10条贴士说我们自己将是代码注释的第一个受益者,但如果把这些贴士分享给你的同事,尤其是在同一个团队中工作的同事,你就会发现你们写出的代码注释会更为易懂和易于维护。
1、逐层注释
使用统一格式对每一个语句块进行注释,如:
类:简单描述、作者、最后修改时间等
方法:关于该方法的目的、函数、参数、返回值的描述
在团队工作中,使用统一的注释规范显得尤为重要。当然,也推荐使用一些专门用来添加代码注释的工具,如C#中的XML、Java中的Javadoc等。
2、使用段落型注释
将代码分割成能完成独立任务的段落,并在其前后添加注释,告诉读者程序将要做什么。
// 检查所有的记录是否正确 foreach (Record record in records) { if (rec.checkStatus()==Status.OK) { . . . } } // 现在开始进行事务处理 Context ctx = new ApplicationContext(); ctx.BeginTransaction(); . . .
3、对齐连续的行注释
若对多行添加行末注释,应将注释进行对齐,以便于阅读。
const MAX_ITEMS = 10; //
数据包的最大数量
const MASK = 0x1F; //
TCP标志位
有些程序远使用制表符来进行对齐,有些则使用空格。建议使用空格来对齐,因为不同的代码编辑器对制表符的处理会不一样。
4、不要侮辱读者的智商
不要用这样的注释:
if (a == 5) // 如果a等于5
counter = 0; // 就将counter的值赋为0
这样做只会浪费你的时间,而且读者的注意力会被从代码中转移。
5、注意礼貌
避免使用无礼的注释,如:注意有些蠢蛋会输入一个负数;这修复了程序最初版本遇到的问题,那个无个救药的笨蛋。这样的注释会反映作者的素质,而且你不知道将来谁会读到你的程序:你的老板、顾客,或者是你刚才辱骂过的那个程序员。
6、讲重点
不要在写冗余的注释,也不要用所谓的字符艺术、玩笑、小诗等。总之要保持注释的简单和直接。
7、坚持统一风格
有些人认为代码注释应该简单到让不会编程的人也能看懂,另一些人则认为代码注释只要让程序员看懂就可以了。不管怎样,正如《撰写代码注释的成功策略 》中所提到的,代码注释的风格应该是固定的,是为同一个观众准备的。而且我个人认为不太会有非程序员来阅读代码,所以代码注释应该只是针对其他程序员的。
8、使用内部统一规定的标签
在进行团队开发时,可以在注释中使用一些特殊的标签。比如在一些团队中使用“TODO:“标签来表示这里还需要完成其他的一些任务。
int Estimate(int x, int y)
{
// TODO: 实现这项计算
return 0;
}
这里所使用的标签注释并不是用来解释代码,而是引起读者注意并传递一些信息。如果你的团队确实在使用这类注释,就要保证会依此进行作业。
9、边写代码边注释
在写代码的时候,乘脑中记忆还清晰,及时写上注释。如果你想在程序编写完之后再添加注释,也许就会花费你两倍的时间。“我没有时间添加注释”、“我很忙”、“这个项目已经有所拖延了”都将会是你的借口。有些程序员认为你应该在编写代码之前就写好注释 ,以为你的最终方案作出计划。如:
public void ProcessOrder()
{
// 保证这些产品是可以购买得到的
// 检查用户时候合法
// 向商店发出订单
// 生成账单
}
10、就当是为自己写注释(事实上的确是让你自己看的)
在添加代码注释时,要想到这些注释不仅是为将来维护代码的程序员而写,也是为你自己而写。用伟大的Phil Haack 的话来说:“当一行代码写好并出现在屏幕上时,你就变成了一名维护人员。”所以,我们自己将会成为代码注释的第一个受益人或受害者。
11、更新代码时同时更新注释
如果注释不随着代码的改变而修改,那在准备的注释也是没有用的。代码和注释应该始终保持同步,否则这些文不对题的注视将使维护人员摸不着头脑。对于那些自动添加注释的工具要格外注意,不要让它忽略更新注释。
12、黄金准则:写可读的代码
有一条基本准备叫“让代码解释它自己”。虽然有人认为这个倡议是由一个懒得写注释的程序提出的,但不可否认的是一条可以自我解释的代码可以让其变得更为易懂,并让注释显得不那么重要。如,在我的Fluid
Interfaces 文章中有一些可以自我解释的代码的例子:
Calculator calc = new Calculator();
calc.Set(0);
calc.Add(10);
calc.Multiply(2);
calc.Subtract(4);
Console.WriteLine( "Result: {0}", calc.Get() );
在这个例子中,代码不需要注释,否则会违反本文的第四条贴士。要写出可读的代码,你应该考虑使用恰当的名称(在Ottinger's Rules 中有所叙述),确保标识正确,并根据代码规范 来撰写。如果没有遵循此条建议,注释可能会被看作是代码的一种“道歉”。
13、和你的同事分享这些贴士
虽然第10条贴士说我们自己将是代码注释的第一个受益者,但如果把这些贴士分享给你的同事,尤其是在同一个团队中工作的同事,你就会发现你们写出的代码注释会更为易懂和易于维护。
相关文章推荐
- 编写一个封装学生信息的JavaBean对象,在jsp页面中调用该对象,并将学生信息输出到页面中。
- Codeforces 533B Work Group
- html网页表格
- 多个haproxy 之间跳转
- clearTaskOnLaunch
- Android开发中RecyclerView组件使用的一些进阶技讲解
- 021-回溯法与深搜的关系-《算法设计技巧与分析》M.H.A学习笔记
- HTML5 Plus移动App(5+App)开发入门指南
- [割顶 乱搞] BZOJ 2730 [HNOI2012]矿场搭建
- js实现的图片浏览器
- VS2005 解决"应用程序配置不正确,程序无法启动"问题
- PS制作创意水彩风格的人像效果图
- hive的启动
- Java NIO与IO的区别和比较
- zk页面每行数据的选中与取消选中
- jQuery ajax()使用serialize()提交form数据
- Pull 解析
- 多个haproxy 之间跳转
- 多个haproxy 之间跳转
- 使用RecycleView实现侧滑删除