[clean code Martin] comments

  1 #!/bin/bash
  2 /********************************************************
  3  * author alex
  4  * webpage http://www.cnblogs.com/alexander-chao/
  5  *******************************************************/
  6
  7 Chapter 4: COMMENTS
  8
  9 comments do not make up for bad code
 10     当看到堆砌在一起又非常混乱的代码,rewrite or refactoring
 11
 12 explain yourself in your code
 13     在代码中体现你的思路,比在注释中写出你的想法要清晰,具体
 14
 15 legal comments
 16     公司,代码使用原则,一般会需要写
 17     DO:(Martin)
 18         //Copyright (C) 2014 by zhijun All rights reserved
 19         //Realesed under blabla[protocal]
 20
 21 provide basic infomations with a comment
 22     使用直观的例子,把一个复杂的代码行注释一下,则一定会清晰可见
 23     DO:(ME)
 24     //score = x1*y1 + x2*y2 + ... + xn*yn
 25     score += get_score(features_vec[i], i, desc);
 26     //desc = x1^By1^Ax2^By2^A...^Axn^Byn 31     desc += (target + "\1"); 33
 34 explain your intend
 35     当代码中做了反常,或tricky的事情,一定要comment真实的意图,不然自己都不知道
 36     在干什么。
 37     TODO
 38
 39 clarification
 40     有时使用注释,说明一下比较不容易看出来操作,或比较容易迷惑的代码行,可以直观
 41     的直接领会意义
 42     DO:(Martin)
 43     assertTrue(a.compareTo(b) == -1) // a < b
 44
 45 warning of consequence
 46     当写的代码中,有哪些潜在的后果不明显时,要告知reader如果采用当前的函数或类或者
 47     变量时需要注意的事项。
 48     DO:(Martin)
 49     //Don‘t run unless you can wait for a long enough time
 50     function() {
 51         //这里有一个死循环
 52     }
 53
 54 TODO comment
 55     当写代码的时候,对某些实现不满意,或对现在的实现效率不合期望希望以后有人可以改进
 56     或以后自己改进可以快速定位,也提醒其他reader注意这部分实现不是最终版本
 57     //TODO(matrix)  may change it to an file
 58     double matrix[][2] =
 59     {
 60         { 0,    0,      0,      0,      0,     0},
 61         { 0,    0,      0,      0,      0,     0},
 62     };
 63
 64 Amplification
 65     强调代码中的tricky地方,以及特殊的实现技巧,以及其潜在的侧重点
 66     DO:(Martin)
 67     string list_iterm = match.group(3).trim();
 68     //the trim is real important, It removes the starting
 69     //spacess that can cause the item to be recognized as anothor list
 70
 71 Javadocs
 72     DONOT(Martin)
 73     自己写代码就不要按照javadoc那样每个函数都comment一下参数和返回值代价太大
 74
 75 BAD COMMENTS:Martin认为大多数程序员写的大多数注释都是bad的
 76
 77 mumbling
 78     别再代码中写废话
 79
 80 redundant comments
 81     通篇下来都是注释,而没有什么有用的信息。会让reader形成一个ignore所有注释
 82     的阅读方式,这样使得有用的注释也等于没用了
 83
 84 misleading comments
 85     写的注释根本不是程序要表达的意义。这TMD是最扯的,无论是自己还是别人都没有
 86     办法确定是代码实现错了,还是注释忘记改了。最终会导致reader根本没办法阅读
 87
 88 mandated(授权) comments
 89     不是每个函数什么的都必须跟上授权信息的,但要写的话,可以按下面格式来
 90     /**
 91      * @param p1...
 92      * @param p2...
 93      * @return r...
 94      */
 95      Type function(Type X, Type Y) {}
 96
 97 Journal comments
 98     drop it to SVN or GIT or other version control systerm!
 99
100 noise comments
101     显而易见的就不要写了,浪费时间,还干扰合理的注释
102     DONOT:(Martin)
103     /** the name */
104     string name;
105
106 Don‘t use a comment when you can use a function or a variable
107     可能设置一些变量会显得代码臃肿。但是如果这样设置可以避免混淆,歧义,以及
108     去上下文寻找答案的话。那么就do it
109
110 position maker
111     if you think it may lead you to segment the code, then do it. but don‘t use
112     too much
113
114 closing brace comment
115     这个我以前从来没有用过,不过Martin说了,如果你需要用括号注释的时候,说明你程
116     序的深度过大,应该考虑refactoring or extract it into a function。
117     如果的确是括号层数太多了,就用closing brace吧。
118     DO:(Martin)
119     if (expr) {
120         while (expr) {
121             for (expr) {
122                 //do something
123             } // for
124         } // while
125     } // if
126
127 attributions and bylines
128     again drop it to svn and git blabla
129
130 commented out code
131     尽量不要出现被注释掉的代码块,考虑remove或者refine它。当然我觉得要真有那么几段
132     也还OK,只是要注意别用多了
133
134 HTML comments
135     drop it
136
137 nonlocal comments
138     别在一个地方,写关乎全局或者其他片段的注释。没人会翻十多页去查有没有那个var或者func
139
140 too much information
141     avoid
142
143 function header
144     别像javadocs那样极端,有必要说明一下的再说明。否则ignore
时间: 2024-11-02 17:32:18

[clean code Martin] comments的相关文章

Building Maintainable Software-java篇之 Write Clean Code

Building Maintainable Software-java篇之 Write Clean Code Writing clean code is what you must do in order to call yourself a professional. -Robert C. Martin Guideline: ? Write clean code. ? Do this by not leaving code smells behind after development wor

[转]Clean Code Principles: Be a Better Programmer

原文:https://www.webcodegeeks.com/web-development/clean-code-principles-better-programmer/ ----------------------------------------------------------------- "My code is working well, the website I built is looking great, and my client is happy. So why

《clean code》讲述代码中的道,而不是术

Clean code 看<clean code>一书,学习高手写出的代码,简单高效的代 1.目标 Bjarne Stroustrup:优雅且高效:直截了当:减少依赖:只做好一件事 Grady booch:简单直接 Dave thomas:可读,可维护,单元测试 Ron Jeffries:不要重复.单一职责,表达力(Expressiveness) 代码的书写,一定程度上体现了编程的思想,编码者的功力,标识出红色的部分我觉得体现了函数式编程,面向对象的思想,需要细细体会 2 命名 2.1 前期统一

Writing Clean Code 读后感

最近花了一些时间看了这本书,书名是 <Writing Clean Code ── Microsoft Techniques for Developing Bug-free C Programs> 这里主要总结了一些里面的编程思想. 为空语句加上NULL 当需要使用空语句的时候,最好写上NULL, 比如: if (music_on()) NULL; else turn_it_on(); 参数类型相同的问题 如果函数中两个参数的类型相同,如果用户调用这个函数时错误替换了参数的顺序,就会出现问题.

说说怎么写clean code

前两天参加了公司组织的一个培训,主题是“如何写出好的代码” ,刚看到这个主题,第一反应是又不知道是哪个培训机构来忽悠钱的!老大安排了,就去听听呗. 说实在的,课程内容没有什么新鲜的东西,就是讲讲如何发现代码的坏味道,如何重构函数,如何修改遗留系统的代码.这些东西从本科到研究生到实习到正式工作,也不知道看过多少听过多少了,话说本科的课程设计也和代码重构相关,私底下重构和设计模式方面的书也没少看,感觉应该没啥好培训的,不过两天的课程听完,打心眼里觉得来对了,意犹未尽! 课程结束了,感觉需要把这两天课

Clean Code 读书笔记三

clean code 之方法(函数) - 短小 ,再短小,更短小 20行最佳 只做一件事 准确说来每个方法应该是只做抽象概念上的的一件事 只做一件事的方法是无法把逻辑分段的 自顶向下的代码 To say this differently, we want to be able to read the program as though it were a set of TO paragraphs, each of which is describing the current level of

clean code 读书笔记一

什么是 clean code ? 大神对优雅代码的定义: I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy,

《Clean Code》一书回顾

<Clean Code>一书从翻开至今,已经差不多两个月的时间了,尽管刨去其中的假期,算下来实在是读得有点慢.阅读期间,断断续续的做了不少笔记.之前,每每在读完了一本技术书籍之后,其中的诸多细节会很快的淡忘,最终留下的往往是在阅读时候与自己之前的印象产生极大共鸣的部分,或者在之后实践当中碰巧运用到的一些知识点.所以,根据已往的经验来说,对于一本技术书籍的学习,个人更愿意依照如下两个基本原则来学习: 撷取个人当前认同最深的少数几个知识点,反复进行实践,并在理解之后再扩张到其他的知识点 择期再次阅

《Clean Code》读书笔记——第二周

本周我阅读了<Clean Code>. "神在细节中!",建筑家范德罗如是说.他当然专注于基于宏伟构架之上的永恒建筑形式,他也同样为自己设计的建筑挑选门把手.同样软件开发也是这样,小处见大.在宏伟的建筑作品中,我们也要关注细节的回响.重点便是整理,从而达成Clean.一个很好的例子是对于变量命名,认真对待每个变量名.书中作者说,我们就像一群代码猴子,无视混乱无序,失去代码的真谛.整洁的代码正是迈向编程之美的基础,重要性毋庸置疑. 作者断言,我们永远需要代码.我们可以创造各种