惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - 邹标财

如何写规范需求分析说明书 从工程师到项目管理 浅谈JavaScript编程语言的编码规范 软件公司的岗位职责 项目管理软件Project实战应用 C# .Net 基础 33条经典面试题目及答案 一步一步学Remoting之六:事件(1) 一步一步学Remoting之六:事件(2) 一步一步学Remoting之五:异步操作 - 邹标财 - 博客园 一步一步学Remoting之四:承载方式(2) 一步一步学Remoting之四:承载方式(1) 一步一步学Remoting之三:复杂对象 一步一步学Remoting之二:激活模式 一步一步学Remoting之一:从简单开始 《Visual C# 最佳实践》第二章 控制语句 (二):类型转换 《Visual C# 最佳实践》第二章 控制语句 (一):语句结构 《Visual C# 最佳实践》第一章 程序设计 (四):运算符 《Visual C# 最佳实践》第一章 程序设计 (三):变量 《Visual C# 最佳实践》第一章 程序设计 (二):数据类型
程序员要避免的五种程序注释方式
邹标财 · 2010-08-14 · via 博客园 - 邹标财

导读:注释,本是提高代码可读性、让其他开发人员更快速地理解程序的,然而一些无意义的注释会让人郁闷至极。本文是国外网站GreaterGeek上的一篇文章,作者通过分类介绍了五种一定要避免的程序注释方式。

全文如下:

你是否有过复查程序时发现有些注释毫无用处?程序注释是为了提高代码的可读性,为了让原作者以外的其他开发人员更容易理解这段程序。

我把这些让人郁闷的注释方式归为了五类,同时把写出这些注释的程序员也归为了五类。我希望读了这篇文章后你感觉自己不属于其中的任何一种类型。如果你有兴趣的话可以读一下另外一篇文章 五种程序员(英文),和这篇讲到的五种程序员对比一下。

1. 高傲的程序员

  1. public class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. string message = “Hello World!”;
  6. Console.WriteLine(message);
  7. message = “I am so proud of this code!”;
  8. Console.WriteLine(message);
  9. }
  10. }

这种程序员是如此的欣赏自己的程序,以至于不得不在每行代码上都署上自己的大名。应该让版本控制系统来提供程序变更的信息,他这样做一眼看去并不能说明谁对这行代码负责。

2. 过时的程序员

  1. public class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. }
  6. }

如果一段程序不再有用(比如废弃了),那就删了它吧——不要被几行没用的注释搞的程序混乱不堪。即使你可能以后重用这段代码,你也可以使用版本控制系统,用它把你的程序恢复到以前的样子。

3. 天真的程序员

  1. public class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. for (int i = 0; i < 1000000; i++)
  6. {
  7. Console.WriteLine(“I Rule!”);
  8. }
  9. }
  10. }

基本的编程语法规则我们大家都知道——我们不需要“编程入门”。你不需要浪费时间来解释一个显而易见的东西,我们更希望知道的是你的程序功能——那是浪费空间了。

4. 传奇的程序员

  1. public class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. double price = 5.00;
  6. double commissionRate;
  7. double commission;
  8. if (DateTime.Today.DayOfWeek == DayOfWeek.Friday)
  9. {
  10. commissionRate = .25;
  11. }
  12. else if (DateTime.Today.DayOfWeek == DayOfWeek.Wednesday)
  13. {
  14. commissionRate = .15;
  15. }
  16. else
  17. {
  18. commissionRate = .05;
  19. }
  20. commission = price * commissionRate;
  21. }
  22. }

如果你不得不在注释里写明需求,那也不要提到人名。销售员Jim很可能在公司里不再是销售。而且大多数读到这段注释的程序员未必都知道Jim是谁。你描述的是实际情况但跟我们的内容不相干,所以就省掉吧。

5. 未来程序员

  1. public class Program
  2. {
  3. static void Main(string[] args)
  4. {
  5. string message = “An error has occurred”;
  6. if(message.Contains(“error”))
  7. {
  8. throw new Exception(message);
  9. }
  10. }
  11. }

这种注释是一种集大成者,它包含了上面所说的注释的所有问题。TODO注释在一个项目最初的开发阶段是非常有用的,但这个注释看起来是在好几年前的产品程序里的——它证明了程序有问题。如果程序有问题需要解决,马上解决,不要拖到日后再解决。

如果你写过这样的注释,或者是你正在寻找一种最好的注释方案,我推荐你读一读Steve McConnell写的Code Complete这本书。这是我推荐给所有程序员必读的六本书中的一种。或者你可以学学如何停止注释你的程序(英文)。

你是否在你的程序里还见到过其它种没有意义的或讨厌的注释?欢迎共享。

相关文章:程序员的五种类型

原文链接:http://www.aqee.net/2010/08/12/5-types-of-comments-to-avoid-making-in-your-code/

英文原文链接:http://repeatgeek.com/career/5-types-of-comments-to-avoid-making-in-your-code/