在线
客服

在线客服
尊敬的客户,我们24小时竭诚为您服务 公司总机: 0755-83312037 (32条线)

客服
热线

0755-83312037 (32条线)
7*24小时客服服务热线

?

关注
微信

关注官方微信
TOP

返回
顶部

网页重构尽量避免使用代码注释

发布时间:2019-04-13浏览次数:843 <p> </p> <table style="BORDER-RIGHT: #cccccc 1px dotted; TABLE-LAYOUT: fixed; BORDER-TOP: #cccccc 1px dotted; BORDER-LEFT: #cccccc 1px dotted; BORDER-BOTTOM: #cccccc 1px dotted" cellspacing="0" cellpadding="6" width="95%" align="center" border="0"><tbody><tr> <td style="WORD-WRAP: break-word" bgcolor="#fdfddf"> <font color="#ff0000">网页制作Webjx文章简介:</font><font color="#000000">一直以来我没有见过任何科学研究证明了这一点,但在软件领域,它就像一个教条或一个共同的信念。由于它的存在,将软件写得易于阅读、关注代码的可读型都是很重要的。通过一些技术的辅助程序员可以实现这些要求,这些技术其中之一就是写代码注释。</font> </td> </tr></tbody></table> <p><img class="aligncenter" alt="" src="http://www.webjx.com/files/allimg/130722/0953000.png"></p> <blockquote> <p><em>免责声明:我所说的“避免<span class="wp_keywordlink_affiliate">代码注释</span>”并不意味着我不写<em>注释</em>,这意味着,我尽可能避免写<span class="wp_keywordlink_affiliate">代码注释</span>,但<em>当我觉得值得写时我还是写的</em>。</em></p> </blockquote> <p>“<strong>相比写软件我们花了更多的时间在阅读软件上</strong>”,一直以来我没有见过任何科学研究证明了这一点,但在软件领域,它就像一个教条或一个共同的信念。由于它的存在,将软件写得易于阅读、关注代码的可读型都是很重要的。通过一些技术的辅助程序员可以实现这些要求,这些技术其中之一就是写代码注释。</p> <p>当谈论起代码注释的时候,有关的辩论总无休止。我们应该用注释来说明我们代码的作用吗,我们应该将重点放在代码的表达性而不需要注释来辅助阅读吗?Joe Kunk为这争论写了一篇博客 -&#160;应不应该写注释。有那些人说文档完备的代码被认为是好代码,还有些人说应该避免注释,因为注释通常被用来解释/隐藏不好的代码。</p> <p>在我看来,在书籍的影响下,为确保代码整洁便于重构,我们应该避免写注释,除非我们有一个好的写注释的理由(例如数学算法)或因为公司要求或流程我们有义务这样做。下面是我关于注释的五点忧虑。</p> <h2>我认为代码注释起到反作用的地方</h2> <h3>1.注释往往鼓励坏的代码</h3> <p>“注释的代码是好代码”有这样一个说法,所以人们常常在代码中添加注释以代码漂亮。如果我们为了解释代码而添加注释这就像是一个信号:也许我们正在编写糟糕的代码。当我们要写一条注释是,我们应该想是否能够通过清理代码使它更有可读性呢。</p> <h3>2. 我们将花费更多的时间来编写和维护</h3> <p>注释通常是代码的第二个版本。当我们为一个函数写注释时我们实际在重复自己。我们违背了DRY(不要重复自己)原则。我们正在花费更多的时间且增加了复杂性。需求如果变了代码也要跟着变,如果我们写了注释也要随之更改。所以为多花费的一倍时间做出改变吧。我们可以利用这段时间来提高我们的代码或开发新的功能。</p> <h3>3. 注释是不可测试和验证的</h3> <p>当我们修改代码的时候我们借助诸如编译器、IDE及单元测试工具来辅助,注释没有,没有类似工具。你无法依靠工具或单元测试来确保它们的使用位置、日期标注等是正确的。一旦你写了一条注释,因为它是不可测试的无法关注它的准确性,一旦出错便会无法察觉的保留下来。</p> <h3>4. 与代码相比注释是不可靠的</h3> <p>通常当注释和代码脱离它就变得与没有多大意义了。如果程序员读到它就可能被误导。即使没有误导也需要通过阅读源码来搞清到底做了什么。一个实际的例子,如果我们的老板需要我们做一个修改,我们应该看注释还是代码呢?当然我们会看代码。</p> <h3>5. 注释占用了不少屏幕空间</h3> <p>一些注释方法(像下面的)占了很多行,当你想查看更多代码时这便成了一个问题。</p> <div> <div class="syntaxhighlighter notranslate javascript ie" id="highlighter_322950"> <div class="toolbar"><span></span></div> <table border="0" cellspacing="0" cellpadding="0"><tbody><tr> <td class="code"> <div class="container"> <div class="line number1 index0 alt2">/** </div> <div class="line number2 index1 alt1">*&#160; </div> <div class="line number3 index2 alt2">* @param title The title of the CD </div> <div class="line number4 index3 alt1">* @param author The author of the CD </div> <div class="line number5 index4 alt2">* @param tracks The number of tracks on the CD </div> <div class="line number6 index5 alt1">* @param durationInMinutes The duration of the CD in minutes </div> <div class="line number7 index6 alt2">*/</div> <div class="line number8 index7 alt1">public void addCD(String title, String author,&#160; </div> <div class="line number9 index8 alt2">int tracks, int durationInMinutes) { </div> <div class="line number10 index9 alt1">CD cd = new CD(); </div> <div class="line number11 index10 alt2">cd.title = title; </div> <div class="line number12 index11 alt1">cd.author = author; </div> <div class="line number13 index12 alt2">cd.tracks = tracks; </div> <div class="line number14 index13 alt1">cd.duration = duration; </div> <div class="line number15 index14 alt2">cdList.add(cd); </div> <div class="line number16 index15 alt1">}</div> </div> </td> </tr></tbody></table> </div> </div>