5种注释用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 高傲的程序员
1.public class Program
2.{
3. static void Main(string[] args)
4. {
5. string message = ―Hello World!‖; // 07/24/2010 Bob
6. Console.WriteLine(message); // 07/24/2010 Bob
7. message = ―I am so proud of this code!‖; // 07/24/2010
Bob
8. Console.WriteLine(message); // 07/24/2010 Bob
9. }
10.}
这种程序员是如此的欣赏自己的程序,以至于不得不在每行代码上都署上自己的大名。应该让版本控制系统来提供程序变更的信息,他这样做一眼看去并不能说明谁对这行代码负责。
2. 过时的程序员
1.public class Program
2.{
3. static void Main(string[] args)
4. {
5. /* 这段程序已经不再有用
6. * 因为我们发现千年虫问题只是一场虚惊
7. * 我们的系统不会恢复到1/1/1900 */
8. //DateTime today = DateTime.Today;
9. //if (today == new DateTime(1900, 1, 1))
10. //{
11. // today = today.AddYears(100);
12. // string message = ―The date has been fixed for Y2K
.‖;
13. // Console.WriteLine(message);
14. //}
15. }
16.}
如果一段程序不再有用(比如废弃了),那就删了它吧——不要被几行没用的注释搞的程序混乱不堪。即使你可能以后重用这段代码,你也可以使用版本控制系统,用它把你的程序恢复到以前的样子。
3. 天真的程序员
1.public class Program
2.{
3. static void Main(string[] args)
4. {
5. /* 这个程序是用来在屏幕上
6. * 循环打印1百万次‖I Rule!‖
7. * 每次输出一行。循环计数
8. * 从0开始,每次加1。
9. * 当计数器等于1百万时,
10. * 循环就会停止运行*/
11.
12. for (int i = 0; i < 1000000; i++)
13. {
14. Conso le.WriteLine(―I Rule!‖);
15. }
16. }
17.}
基本的编程语法规则我们大家都知道——我们不需要―编程入门‖。你不需要浪费时间来解释一个显而易见的东西,我们更希望知道的是你的程序功能——那是浪费空间了。
4. 传奇的程序员
1.public class Program
2.{
3. static void Main(string[] args)
4. {
5. /* 有一天我在大街上的一家星巴克里
6. * 和销售部的Jim讨论问题,他告诉我
7. * 销售代表是依据以下的比例提取佣金的。
8. * 周五: 25%
9. * 周三: 15%
10. * 其它日期: 5%
11. * 我是否告诉你过我点了一个卡拉梅
12. * 铁咖啡和两份的Espresso?
13. */
14. double price = 5.00;
15. double commissionRate;
16. double commission;
17. if (DateTime.Today.DayOfWeek == DayOfWeek.Friday)
18. {
19. commissionRate = .25;
20. }
21. else if (DateTime.Today.DayOfWeek == DayOfWeek.W
ednesday)
22. {
23. commissionRate = .15;
24. }
25. else
26. {
27. commissionRate = .05;
28. }
29. commission = price * commissionRate;
30. }
31.}
如果你不得不在注释里写明需求,那也不要提到人名。销售员Jim很可能在公司里不再是销售。而且大多数读到这段注释的程序员未必都知道Jim是谁。你描述的是实际情况但跟我们的内容不相干,所以就省掉吧。
5. 未来程序员
1.public class Program
2.{
3. static void Main(string[] args)
4. {
5. //TODO: 将来我会修复这个问题– 07/24/1995 Bob
6. /* 我知道这个问题很难解决而且
7. * 我现在依赖于这个Contains函数,但
8. * 我以后会用一种更有意义,更
9. * 优雅的方式打印这段代码。
10. * 我只是现在没时间。
11. */
12. string message = ―An error has occurred‖;
13.if(message.Contains(―error‖))
14. {
15. throw new Exception(message);
16. }
17. }
18.}
这种注释是一种集大成者,它包含了上面所说的注释的所有问题。TODO注释在一个项目最初的开发阶段是非常有用的,但这个注释看起来是在好几年前的产品程序里的——它证明了程序有问题。如果程序有问题需要解决,马上解决,不要拖到日后再解决。