注释_spring boot 多行注释 时间注释 版本注释 - CSDN
  • 我在很多地方看到这样一个观点,“请停止写注释,因为只有烂的代码才需要注释。”这个观点非常巧妙,它让我想起了孟子的一句话,“杨氏为我,是无君也;墨氏兼爱,是无父也。无父无君,是禽兽也。” 动不动就骂别人...

    我在很多地方看到这样一个观点,“请停止写注释,因为只有烂的代码才需要注释。”这个观点非常巧妙,它让我想起了孟子的一句话,“杨氏为我,是无君也;墨氏兼爱,是无父也。无父无君,是禽兽也。”

    动不动就骂别人是“禽兽”,我总觉得有点不妥,这很不符合孟子的浩然之气啊。有些大牛也有孟子这样的觉悟,如果有人要他给自己的代码加上注释,就好像是对他的一种侮辱:“我的代码写得这么优雅,你难道看不懂吗?注释是多余的!”

    我必须得承认,每个程序员都应该有一颗追求“优雅”的心,力争自己的代码更易阅读和理解——不只是针对机器,还有我们程序员同行。但不是每个程序员在一开始都能写出“高标准”的代码的,就好像不是所有君王和百姓都能搞清楚孟子的治国齐家理念的。

    在我刚回洛阳的那段时间,过得非常痛苦。因为我刚接手了别人留下的一个项目,关于大宗期货交易的。后端代码是用 Java 写的,但有很多 bug 在里面,动不动就资金结算失败,甚至内存溢出,要解决这些问题,只有一个办法,就是彻底搞懂这些代码。

    否则,根本无从下手。这就好像,你和朋友开车出去自驾游,去很远很远的地方,朋友开累了,需要休息,这时候,如果你没考过驾照,那就抓瞎了,只能把车停路边,等朋友的疲劳消退了,才能继续上路。

    我就抓瞎了。凭良心说,前同事留下的代码是精彩绝伦的,如果换做是我来写,真不一定能写得出来。毕竟大宗期货交易本身还是有点难度的,需要竞价撮合,这个业务理解起来比股票还要复杂些。

    股票涨了就赚,跌了就亏。期货不同的,买涨能赚,买跌也能赚。不过业务上的复杂还是次要的,重要的是代码里的注释非常稀有,就好像詹姆斯高斯林头上的发丝一样稀有。

    况且,国内程序员的英语功底你懂的,变量、方法、类、接口、枚举的命名无法做到真正意义上的名如其意。再加上,有些方法的行数多达三四百行,从头看到尾,看得只想捶自己。

    没办法,我的解决办法就是,看懂一行就加一行注释,毕竟注释总比代码要容易理解啊。就好像,我们在调用一个不熟悉的 API 时,只要代码的文档说清楚它是干嘛的,我们就可以用,就敢用,至于实现的细节,暂时没有理解也没关系。

    差不多花了两个月的时间(非常漫长、非常煎熬)吧,我总算是把项目中核心的代码给研究清楚了。搞清楚之后,那些之前怎么改都改不掉的 bug 也就迎刃而解了。

    这也就是为什么,我倡导大家去读源码的一部分原因了,除了学习,读源码是解决 bug 的杀手锏。要读懂源码,注释是必不可少的。不信,你看看 Java 的源码,每个变量、每个方法、每个类,注释都非常详细,详细到你替源码的作者感到心累。

    在我看来,Java 源码的作者绝对是这个世界上最优秀的程序员,连他们都写注释,那些声称“请停止写注释”的号召者是不是要啪啪啪地打脸,直到打肿为止。

    不要怀疑自己,写注释并不会证明你的代码就是烂代码。我相信,你应该买过电子产品,比如说鼠标、键盘、耳机、手机等等,所有的产品包装里除了产品本身,使用说明书是必不可少的。我就问一句,“手机没有使用说明书,咱这些后浪还能不会用?”

    写注释不是我们的错,软件本来就是复杂的。尤其是我们这些英语不是主力语言的人来说,注释显得尤为重要。我可能属于记忆力不好的那一种,隔个十天半个月,再去回头看那些我自己敲的代码,有时候真有点见着陌生人的感觉:“这代码是我写的吗?怎么有点面生啊?”

    大部分人写的代码都要升级重构,对吧?不论是语言本身版本的升级,还是我们自身能力的成长。假如在升级重构的时候,没有这些注释的帮助,真有点爬泰山的感觉,累啊,亲。

    再者说,大牛也不敢保证自己的代码是没有问题的,对吧?但注释是不会骗人的,它的意义是明确的。你可能会忘记代码是干嘛的,但我敢保证,注释能够唤醒你的记忆。

    写出好的、有意义的注释其实是有难度的,就像写代码一样。在追求卓越的路上,代码和注释其实是相辅相成的。注释会让你的代码更易阅读,代码会让你的注释更富有逻辑。

    即便是你的代码已经优雅到不需要注释,那只是在你的层面上。对于你的同事,你代码后来的负责者,就不一定了。所见略同的英雄并不会很多,你以为很优雅的代码没准在别人眼里就是一坨垃圾,而你的注释很可能会帮助别人“恍然大悟”,明白代码的意义。乖乖地写注释吧,对你对别人都有好处。

    另外,我想说一句,注释就好像是代码的一个蓝图,也或者是对代码的一个总结。在你写代码之前,脑子里肯定要想清楚你要实现什么,怎么实现,把这些作为注释写下来绝对可以帮助你写出更优雅的代码。在代码写完之后,通过注释进行总结,还能对代码进行一些升华,没准还能在总结的过程中想到更好的代码方案。

    我还见到有大牛信誓旦旦地说,写注释就好像是给不会游泳的人扔一个救生圈,他永远也学不会游泳。咋眼一看,这句话说得很有道理,对吧?在大牛们看来,要让一个新人快速成长,最好的办法就是把没有注释的代码扔给他看。

    纯属扯淡,恐怕这个新人没入门就放弃了吧?我已经三十一岁了,不,我已经十八岁了,还不会游泳呢?别听那些大牛们的鬼话,我就不信,他自己没写过注释。

    总之一点,注释并不会妨碍你写出优雅简洁的代码,它只是程序固有的一部分而已

    如果觉得文章对你有点帮助,请微信搜索「 沉默王二 」第一时间阅读。本文已收录 GitHub,传送门~ ,里面更有大厂面试完整考点,欢迎 Star。

    我是沉默王二,一枚有颜值却靠才华苟且的程序员。关注即可提升学习效率,别忘了三连啊,点赞、收藏、留言,我不挑,嘻嘻

    展开全文
  • Java注释: //:行注释,单选注释。用于某行代码后面 /**/:块注释。//的升级版,用来注释多行代码,也可以写多行注释 /***/:javadoc注释。同上,但是能写入javadoc文档说明,用来生成HTML格式的代码报告,所以...

    Java注释:

    //:行注释,单选注释。用于某行代码后面

    /**/:块注释。//的升级版,用来注释多行代码,也可以写多行注释

    /***/:javadoc注释。同上,但是能写入javadoc文档说明,用来生成HTML格式的代码报告,所以注释文档必须写在类、域、构造函数、方法,以及字段(field)定义之前。注释文档由两部分组成——描述、块标记。

    jsp注释:

    <!-- 注释内容 --> : HTML注释。内容可见,出现在生成的HTML代码中,浏览器会忽略此注释

    <%-- 注释内容 --%> : JSP页面注释。标记的内容客户端查看源码时是完全看不到的。JSP注释只在JSP代码中可见。
    <% // 注释内容 %> : Java注释。单行注释,显示在servlet代码中,不显示在响应中
    <% /* 注释内容 */ %> : Java注释。多行注释,同上

    mysql注释:

    #这是注释: 单行注释

    --  这是注释:同上,--后面是有空格的

    /* 这是注释 */ :多行注释

     

    展开全文
  • 谈代码注释

    2019-05-09 16:17:31
    只要写代码,就会遇到代码注释的问题。在不同的公司,不同的项目组,不同的项目中,可能会有不同的注释标准。有些标准让我们感觉很受益,有些则让我们感觉很反感。而对于没有明确标准的项目,我们往往会遇到...

            只要写代码,就会遇到代码注释的问题。在不同的公司,不同的项目组,不同的项目中,可能会有不同的注释标准。有些标准让我们感觉很受益,有些则让我们感觉很反感。而对于没有明确标准的项目,我们往往会遇到“百花齐放,百家争鸣”般的注释。我无法给出一个明确的标准,只是在此探讨下:什么样的注释不应该写,什么地方需要写注释。(转载请指明出于breaksoftware的csdn博客)

    “不”的原则

    不是每行代码都需要写注释

            这个原则源于之前我和同事的一个争论。当时我们讨论代码注释该怎么写的问题,最终同事抛出这么一个观点:“我之前在X为干过,那儿就需要每行代码都写注释,所以我们应该执行这样的标准”。想必大家都可以猜到那是一家什么公司,但是从我个人角度分析,同事之前可能去的是一家假的“X为”公司。因为我觉得那个公司不应该如此没有技术品味吧?

            之后的探讨,我们将以画作为例。因为画是一种艺术表达,而我们的代码也应该写的和艺术品一样,表达出一种美。下图是梵高的《向日葵》原作,图中只有若干向日葵花、花瓶、地面(或者说是承载体)等元素。

            假如我们对这份“代码”每行加一个注释,则呈现如下

            各位看官感觉如何?我觉得如果梵高画的如果不像向日葵的话,这样搞点“注释”可能还有存在的意义。但是如果作品足够表意,那么再加上注释就是画蛇添足。这种为写注释而写注释是非常不可取的。为什么呢?因为

     

    • 增加编码人员无价值的工作量
    • 让编码人员降低对自己代码质量的要求,因为“反正要写注释”,叫index还是叫xpoesiejd无所谓。
    • 让对自己编码有艺术美感的编码人员产生抵触。比如我们要是让梵高给他原作加上上图一样的注释,我想梵高可能早就不想活了。

            但是我相信我同事可能说的是“真”的,但是这个“真”被我打了一个引号。因为我怀疑他之前可能在一家给X为干活的外包公司工作。也许X为的确有严格的代码注释量要求(也许“注释行数”/“代码行数”>0.5),于是这家外包公司就做了一个“任何一行代码都要写注释”的要求。我想如果他们真的这么去执行了,代码的注释量的确是上去了,但是或许注释的质量降低了,或者工作效率降低了。

    不要写废话

            上图是欧仁·德拉克罗瓦的著名油画《自由引导人民》。这幅作品是为了法国七月革命而作,最前方的那个女性是克拉拉·莱辛,象征着自由女神。她左手边男孩象征着阿莱尔,右手边戴大礼帽的男性象征着资产阶级,贝雷帽男性则象征着工人。可以见得这幅画包含了大量的背景知识。但是如果我们用废话注释它就是

            是不是要抓狂?对于这样显而易见的信息写注释就是“废话”!

    不要写错误的注释

            上图是徐悲鸿的著名油画《田横五百士》。我们抛开这幅画的时代意义,单从历史画角度来看,大师给我们传达了一个错误的信息——人物的着装不符合故事地域年代(秦末齐国地区)。如果该幅画没有留下名字,后人通过画作的衣着信息(可以看成是一种注释)对该画所表达的故事进行推理时,可能出现断代错误,从而得出的故事和作者想表达的不同。

    不要乱留名

            

            这幅是元代赵孟頫的《水村图卷》。请注意一下右上角那个大大的、红红的、方方正正的印章——乾隆御笔之宝。可能你会觉得乾隆爷给这幅画加盖了自己的印章,会导致该幅画价值大大增加,但是实际效果是恰恰相反。乾隆爷是有名的毁画大师,他经常在一些有名的作品上胡乱加盖自己的印章——留名。于是这些画作经他这么一折腾就会贬值。连乾隆爷的名字都那么不值钱,我们何必要在代码中乱留名呢?

            但是如果这份文件是你编写的,你还是要在版权信息中写入你的名字。这就和中国古人画作一般都会自己签名和盖自己印章一样。

            可能你会辩解,说:我添加的这段逻辑非常重要,我要留名以便以后有人能找到我。我觉得这个问题应该这么看:如果你的代码重要程度可以颠覆原作,我觉得你可以考虑重写一份并署上自己名字;如果没那么重要还是把留名交给原作者吧,毕竟你的成果是在他基础之上获得呢。

    不要注释掉代码

            我想这个问题是最最常见的。大家翻翻自己项目的代码,可能都会遇到这种现象。当我们不需要一段代码时,可能也会估计是“永远不用了”还是“暂时不用了”。于是很多人对“暂时不用了”的代码使用注释方式使其无效。但是一般来说,这种“暂时不用了”的代码很有可能就是“永远不用了”,而人们已经忘记要去删除它了。这个现象在实际项目中比比皆是。所以个人觉得:不要的代码要果断删除。即使以后真的要用了,我们可以使用代码管理工具(svn或者git)方便的找回。

            下图是库尔贝的油画《受伤的男人》。其实作者在呈现这幅画之前,画布上画了一个女性头部。可能作者觉得这块逻辑可能没用了,于是就用黑色把“她”抹去,从而也成就了这幅名画。假想作者如果使用“注释”的手段将这颗头颅保留在画作中,将是如何吓人的一幅场景。

    不要写小故事

            在工作中,可能某个类的设计思路来源于和产品经理或者技术经理的思想碰撞,可能这个过程很精彩,有些编码者就将整个故事用注释的方式放在代码中。也有可能这个类和历史上一个著名人物有关,比如我们要编写斐波拉契数列实现,就将斐波拉契平生故事放到代码里。我觉得这些内容放在代码中是非常不合适的,也许你觉得很精彩,但是别人很有可能不关心啊。

            比如下图是米开朗琪罗的《耶稣受难》

            现在我们觉得耶稣受难前“最后的晚餐”故事很精彩,于是我们把这段《新约圣经》“注释”到画作中

            米开朗琪罗如果这么作画,可能现在我对他的认知中少了“画家”这一项。

    不要有宗教倾向

            这个问题在国内不算太大的问题。因为程序员大部分是无神论者。当我们看到“佛祖保佑”或者“God save me”是往往是莞尔一笑。但是我们不能假设以后阅读这份代码的人没有宗教信仰,也许他信奉的和你正好相反呢。代码是没有宗教的,编码者是有的。

            我们比较常见是的“佛祖保佑 永无bug”

            个人比较反感这种做法。所以我会在自己的项目中,将这种注释都删掉。假如我们的代码要依靠神来保佑,我只能质疑你代码的质量是不是已经超神了。我们还是要信奉二进制的。

    不要博人一笑

            代码是严谨的逻辑表达,不要写一些逗人开心的内容。可能上例中“佛祖保佑,永无bug”在一些编码者看来只是为了博人一笑。但是我觉得阅读代码是一件需要连续动脑筋的事,如果我们阅读过程被这些“笑话”不停打断,那么最终的理解效率得有多低?

            比如著名的《清明上河图》,它包含了大量的社会信息。假如我每隔一段注释一个笑脸,那么这幅画可能就没那么高的艺术价值了。

    不要批判前人

            写出完美的代码的确是非常稀少的。所以我们阅读别人代码时,往往可以发现很多问题。在感觉不爽时,可能心中默默鄙视一下作者;再不爽时,可能和同事数落一下作者;再再不爽时,可能就要在代码中批判一下作者。但是这种注释对代码是有意义的么?而且并不是我们总是对的。由于对问题的理解深度、角度不同,编码者就是可能会写出让你不满意但是符合他自己原则的代码。

            比如梵高的《星空》

            像我这种鉴赏能力比较差的,的确很难说出他画的哪儿好了。假如我给这幅画做了如下注释

            我想我并不会获得别人的赞许,可能全是对我的鄙视。那怎么办?我觉得我应该去画一幅符合我心目中“星空”的油画,这样供其他人在我和梵高中做个选择。或许这是一种自不量力,但是这却是一种对原作者的尊重。

    “要”的原则

            说了这么多“不”的原则,其实我知道我还是没有说全。但是我们换个角度,如果我们知道“要”的原则,然后对其取反,就是涵盖所有“不”的原则了。

            在讨论这个话题之前,我先说下我对代码和注释的认识。

            首先我认为代码要写的和注释一样表意。也就是说我们要穷尽自己的思想,努力掌控每个名词、每个动词、每个换行、每个空格、每个组织形式以达到让代码可以自说明逻辑及业务。

            其次代码和注释应该是一个整体。往往一份文件包含代码和注释两部分,而阅读这份文件也有两个主体——编译器和人。编译器只是通过代码来获得逻辑信息,而人的要通过代码和注释一起理解逻辑和业务。

            基于第二点,我认为一份文件最好只有一个故事线——只需要用代码去表达,因为它是人和编译器同时可以去理解的。如果一个故事经过两个人去讲述,随着时间推移,最终会变成两个故事。这是非常可怕的。

            所以我的观点是:如果代码足够表意,且不违背常理,不应该去添加注释。反之则需要加注释。

            但是现实社会中,有时候很难做到不违背常理。因为我们这个世界随机性太强,有时候我们就要放弃一些我们认识的“常理”去达到期望的目的。这个时候我们代码的表达能力可能就是不足的了,就需要注释来表达。

            比如齐白石的画作中,寿桃往往是用来祝寿的

            这个常理我们中国人都可以理解。但是假如我们看到下面这幅画,你觉得他是齐白石用来干嘛的?

            它其实也是用于祝寿的。它是齐白石向蒋公祝60大寿时送的,和这幅画一起送的还有一副对联——人生长寿,天下太平。完整的版本是

            假如觉得这副对联还不够表达“潜台词”,则上联左上侧“主席寿”几个字则可以完全说明了吧。

            这幅《松柏高立图》在2011年以4.255亿被拍卖,而它则是我认为需要写“注释”的一个典型代表。

    展开全文
  • §单行注释// 这是单注释 §多行注释/*这是多行注释*/ §Javadoc注释/**这是javadoc注释*/ 其实这里面还有很多细节呢,下面我们一一来揭晓 在这里相信有许多想要学习Java的同学,大家可以关注小编公众号卓越新...

    前言

    今天我们来说说如何编写Java注释。使用过Java的同学都非常熟悉,Java中有:

    §单行注释// 这是单注释

    §多行注释/*这是多行注释*/

    §Javadoc注释/**这是javadoc注释*/

    其实这里面还有很多细节呢,下面我们一一来揭晓

    在这里相信有许多想要学习Java的同学,大家可以关注小编公众号卓越新腾。

    哪些地方需要添加注释

    首先,我们需要确定一下,添加注释的目的是什么?(手动思考10秒)。

    我认为添加注释,是为了程序更容易理解与维护,特别是维护,更是对自己代码负责的一种体现。

    那基于这样的目的,在日常开发中,我们需要在哪些地方添加注释呢?

    §类,接口。

    这一部分注释是必须的。在这里,我们需要使用javadoc注释,需要标明,创建者,创建时间,版本,以及该类的作用。如下所示:

    package com.andyqian.utils;/*** @author: andy* @date: 18-01-05* @version: 1.0.0* @deion: 生成PDF 工具类*/public class PdfUtil {}

    §方法

    在方法中,我们需要对入参,出参,以及返回值,均要标明。如下所示:

    /** * 生成pdf文件 * @param htmlContent 待生成pdf的 html内容 * @param file 生成pdf文件地址 * @see PdfUtils#getFontPath() * @return true 生成成功 false 生成失败 */ public static boolean generatePdf(String htmlContent,File file){ ... return result; }

    §常量

    对常量,我们需要使用多行注释,进行标明该常量的用途,如下所示:

    /*** @author: andy* @date: 18-01-05* @version: 0.0.1* @deion:*/public class StatusConsts { /** * 博客地址 */ public static final String BLOG="www.andyqian.com";}

    §关键算法上

    在关键算法上,添加注释并且按照顺序依次标明,写明白该方法为什么这么做。如下所示:

    /** * 应用场景: * 1.在windows下,使用Thread.currentThread()获取路径时,出现空对象,导致不能使用 * 2.在linux下,使用PdfUtils.class获取路径为null, * 获取字体路径 * @return 返回字体路径 */ private static String getFontPath(){ String path=""; // 1. ClassLoader classLoader= Thread.currentThread().getContextClassLoader(); URL url = (classLoader==null)?null:classLoader.getResource("/"); String threadCurrentPath = (url==null)?"":url.getPath(); // 2. 如果线程获取为null,则使用当前PdfUtils.class加载路径 if(threadCurrentPath==null||"".equals(threadCurrentPath)){ path = PdfUtils.class.getClass().getResource("/").getPath(); } // 3.拼接字体路径 StringBuffer stringBuffer = new StringBuffer(path); stringBuffer.append("/fonts/SIMKAI.TTF"); path = stringBuffer.toString(); return path; }

    怎么添加注释?

    1. IDEA 自动生成

    对于类中的注释,我们可以通过IDEA自动生成。

    如IDEA 可以通过:File->Settings->Editor->File and Code Templates->Includes->File Header来设置模板,这样新建文件时,IDEA会按照设置的模板,会自动生成一个注释,就不需要一个一个敲了。

    其中标签有:

    ${USER} : 当前用户。

    ${DATE} : 当前日期。

    ${PACKAGE_NAME}:包名。

    ${TIME}: 当前时间。

    ${YEAR}: 当前年。

    ${MONTH}:当前月。

    ${DAY}: 当前日。

    ${HOURS}: 当前小时。

    ${MINUTE}: 当前分钟

    1.注释引用

    如果方法中引用了其他的方法,在注释中如何体现呢?细心的朋友,应该已经发现了,在上面的:

    /** * 生成pdf文件 * @param htmlContent 待生成pdf的 html内容 * @param file 生成pdf文件地址 * @see PdfUtils#getFontPath() * @return true 生成成功 false 生成失败 */ public static boolean generatePdf(String htmlContent,File file){ ... return result; }

    中的@see就有这个作用,其语法是:

    @see package.class#method label@see #field@see #method(Type, Type,...)@see #method(Type argname, Type argname,...)@see #constructor(Type, Type,...)@see #constructor(Type argname, Type argname,...)

    例如:

    @see PdfUtils#getFontPath()

    如果是同一个类中,package(包名全路径)可以省略。有相同功能的标签有:

    {@linkpackage.class#metod}

    /** * 生成pdf文件 * @return true 生成成功 false 生成失败 * @throws Exception * {@link PdfUtils#getFontPath()} */ public static boolean generatePdf(String htmlContent,File file){ .... }

    其区别是:@see必须要在注释行首,{@link}可以在任意位置。

    1. 在IDEA中,我们可以选中方法通过快捷键Ctrl+D即可查看我们添加的注释,如下图所示:

    1.如果需要引用外网的连接,我们可以通过HTML标签中的a标签来表示,如下所示:

    @see <ahref="http://www.andyqian.com">博客地址</a>

    以下为javadoc 需要熟知的注释标签:

    @see 引用类/方法。

    @author: 作者。

    @date:日期。

    @version: 版本号。

    @throws:异常信息。

    @param:参数

    @return: 方法返回值。

    @since: 开源项目常用此标签用于创建日期 。

    {@value}: 会使用该值,常用于常量。

    {@link} 引用类/方法。

    {@linkplain} 与@link功能一致。

    完整案例如下:

    package com.andyqian.pdf.utils;import com.itextpdf.text.log.Logger;import com.itextpdf.text.log.LoggerFactory;import java.io.File;import java.net.URL;/*** @author: 鞠骞* @date: 18-01-05* @version: 1.0.0* @deion: 生成PDF 工具类*/public class PdfUtils { private static final Logger logger = LoggerFactory.getLogger(PdfUtils.class); /** * 生成pdf文件 * @param htmlContent 待生成pdf的 html内容 * @param file 生成pdf文件地址 * @see <a href="https://itextpdf.com/">https://itextpdf.com/</a> * @return true 生成成功 false 生成失败 */ public static boolean generatePdf(String htmlContent,File file)throws Exception{ ... return true; } /** * 应用场景: * 1.在windows下,使用Thread.currentThread()获取路径时,出现空对象,导致不能使用 * 2.在linux下,使用PdfUtils.class获取路径为null, * 获取字体路径 * @return 返回字体路径 */ private static String getFontPath(){ String path=""; // 1. ClassLoader classLoader= Thread.currentThread().getContextClassLoader(); URL url = (classLoader==null)?null:classLoader.getResource("/"); String threadCurrentPath = (url==null)?"":url.getPath(); // 2. 如果线程获取为null,则使用当前PdfUtils.class加载路径 if(threadCurrentPath==null||"".equals(threadCurrentPath)){ path = PdfUtils.class.getClass().getResource("/").getPath(); } // 3.拼接字体路径 StringBuffer stringBuffer = new StringBuffer(path); stringBuffer.append("/fonts/SIMKAI.TTF"); path = stringBuffer.toString(); return path; }}

    添加注释时的一点建议

    1.类中,接口等必须有创建时间,创建人,版本号,描述等注释。

    2.注释不是越多越好,比如:get/set方法就不需要写注释。更不需要每一行都写注释。

    3.注释需要写的简明易懂。特别是方法的参数,以及返回值。

    4.每一次修改时,相应的注释也应进行同步更新。

    5.在类,接口,方法中,应该都使用/** */javadoc注释。因为这样调用者就不需要进入方法内部才知道方法的用处。提高编码效率。

    6.方法代码中如果有顺序之分,最好将代码也加上序号,如1,2,3等。

    7.枚举中的每一个值都需要添加注释。

    小结

    写注释是一个好习惯,能让自己和团队都受益,如果你接手一个一丁点注释都没有的项目,那么上一个程序员就倒霉了(此处省略N个字),不知你们有没有看过开源项目的源码,那注释写的相当详细,大家可以多多参考,争取别做一个”倒霉”的程序员。

    展开全文
  • 注释的内容不会出现在字节码中,即java编译器编译时会跳过注释语句,在java中根据注释的功能不同,主要分为单行注释、多行注释和文档注释。 1,单行注释 单行注释是以“//”开头的后面的内容就是注释。 2,多行注释 ...
  • 注释

    2020-08-01 20:53:56
    单行注释 //单行注释 注释是给人看的并不会执行 多行注释 可以注释一段文字 /。。。。。/ 文档注释 /**-----------------*/ javadoc:文档注释 @description:描述 @author:作者名字 书写注释是非常好的习惯 ...
  • 说明:注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 2.文件注释:文件注释写入文件头部。说明:以/* 开始示例:/ ** 文件名:[文件名]* ...
  • 注释和注解的区别

    2018-09-18 16:34:39
    注解 :参与代码编译,以@开头的。它是给应用程序看的,单独使用注解毫无意义,一定 要跟工具一起使用,这个所谓的工具实际就是能读懂注解的应用程序 。...注释 :对代码没有影响。对代码起到解释、说明的作用; ...
  • 注释 、CSS/JS //注释 和 /*.....*/ 注释 <!-- -->是HTML的注释标签,使用 < 和 > 是符合HTML标签语法规则的。/* */是CSS的注释标签 /* */(注释代码块)、//(注释单行)是JS的注释标签。 两种注释...
  • java的注释

    2020-04-23 22:23:04
    JAVA注释:           用来解释说明的文字     作用:            1 对程序解释...
  • 看教程上面说,多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来。 但是看有些代码在''' '''内是生效的。如; ``` sql = '''create table students ( name text, username text, id int)''' ...
  • matlab中进行多行注释

    2014-07-23 14:12:40
    在MATLAB中可以在行首部加%来进行注释,%%
  • --这是单行注释--&gt; &lt;!--  这是多行注释  这是多行注释  这是多行注释 --&gt; JS/jQuery注释: //这是单行注释 /*  这是多行注释  这是多行注释  这是多行注释 */ css注释: /*这是...
  • IDEA自带的注释模板不是太好用,我本人到网上搜集了很多资料系统的整理了一下制作了一份比较完整的模板来分享给大家,我不是专业玩博客的,写这篇文章只是为了让大家省事。 这里设置的注释模板采用Eclipse的格式,...
  • 1、一次性添加多行注释的快捷键 首先选中要注释区域,然后 ctrl+/  这个是多行代码分行注释,每行一个注释符号 ctrl+shift+/ 这个是多行代码注释在一个块里,只在开头和结尾有注释符号 2、取消多行注释...
  • bat批处理的注释语句

    2012-10-29 19:53:26
    写bat批处理也一样,都要用到注释的功能,这是为了程式的可读性 在批处理中,段注释有一种比较常用的方法:  goto start  = 可以是多行文本,可以是命令  = 可以包含重定向符号和其他特殊字符  = 只要...
  • IDEA可以使用快捷键添加行注释Ctrl+/、块注释Ctrl+Shift+/,还可以快速生成类注释、方法注释等,下面就介绍这几种快捷键的用法. [1]行注释Ctrl+/ 首先你的光标要处于这一行,处于这行的哪个位置都可以,按Ctrl+/,就...
  • 单行注释以"#"开头的行就是注释,会被解释器忽略。#-------------------------------------------- # 这是一个注释 # author:菜鸟教程 # site:www.runoob.com # slogan:学的不仅是技术,更是梦想! #--...
  • Eclipse 中的两种注释方法: (1)多行注释 (2)单行注释 一、 多行注释快捷键 1:添加注释 Ctrl+Shift+/ : 添加/* */注释  示例: 选中代码块后按下快捷键即可 /* float size = 0.0f;  float pct = 0.0f;  try...
  • java代码注释规范

    2012-11-20 20:20:13
    代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率。也是程序代码可维护性的重要环节之一。所以我们不是为写注释而写注释。下面说一下我们在诉求网二期开发中使用的代码注释规范...
1 2 3 4 5 ... 20
收藏数 1,651,002
精华内容 660,400
关键字:

注释