代码整洁之道--注释

举报
i进击的攻城狮 发表于 2022/06/27 21:35:10 2022/06/27
【摘要】 ​注释在代码中的地位举足轻重,但你有想过如何去写好注释吗?1、注释是为了美化糟糕的代码我们为什么要写注释,一般如果一段代码需要写注释才能看的懂,那这是一个非常危险的讯号,我们的代码,应该在写的时候,就做道不用写注释,读代码,就能清楚的知晓代码所要做到事情,让代码自己去解释吧;2、好注释2.1 提供信息的注释你可以在方法,类,或者变量加上注释,告诉之后读代码的人这个是什么意思​编辑2.2 解释...

注释在代码中的地位举足轻重,但你有想过如何去写好注释吗?

1、注释是为了美化糟糕的代码

我们为什么要写注释,一般如果一段代码需要写注释才能看的懂,那这是一个非常危险的讯号,我们的代码,应该在写的时候,就做道不用写注释,读代码,就能清楚的知晓代码所要做到事情,让代码自己去解释吧;


2、好注释

2.1 提供信息的注释

你可以在方法,类,或者变量加上注释,告诉之后读代码的人这个是什么意思

编辑



2.2 解释代码意图的注释

用代码解释某个逻辑,为什么要这么做,比如突然定义了一个变量,或者捕获某个方法可能会抛出的异常,对异常的解释


2.3对代码的阐述

比如:有时注释把某种晦涩难明的参数或返回值的意义翻译为某种可读形式。

assertTrue(bb.compareTo(ba)==1);//bb>aa
assertTrue(a.compareTo(b)==-1);//a<b


2.4 警示性的注释

用于警告其他程序员会出现某种后果的注释是有用的,例如:

fun getDataFormat(): SimpleDateFormat {
    // SimpleDateFormat不是线程安全的,所以我们需要每次创建新的实例
    val df = SimpleDateFormat("yyyy-MM-dd")
    df.timeZone = TimeZone.getTimeZone("GMT")
    return df
}

2.5 TODO

在idea中使用TODO注释,使用TODO的地方会高亮显示,能很好的提示之后应该完成的工作

TODO是一种程序员认为应该做,但是由于某些原因目前还没做的工作。它可能是要提醒删除某个不必要的特性,或者要求他人注意某个问题。它可能是恳请别人取个好名字,或者提示对依赖某个计划事故的修改。 

3、坏注释

3.1 自言自语的注释

如果你觉得应该或者因为过程需要就添加注释,那就是无谓之举。注释应该是给读者看得不是给自己看得。

编辑


3.2 毫无意义的注释

这样的代码有什么意义呢,这样一眼就能明白的代码,写注释纯属浪费时间,污染页面

 //如果count等于1,执行登录功能,如果对于二,执行注册功能
        if (count == 1){
            System.out.println("登录");
        }else if (count == 2){
            System.out.println("注册");
        }

3.3 误导性的注释

注释说返回密码,代码却和注释说的不一样,可能因为代码多次迭代,但注释没有跟上

/***
 * 返回密码
 */
public String getPassword() {
    return account;
}



3.4 为了注释而注释

什么是注释而注释,就比如有的人,在一些没有必要加注释的地方,偏要加上一长串的文档注释,反而显得代码臃肿

编辑

像这样,在get方法上加注释,这注释占的六行纯属是浪费空间。 

3.5注释掉的代码

有时候我们写代码的时候,写到一半,发现好像写的有问题,或者是功能需要变动,需要改代码,我们往往可能不会删除原来的代码,觉得可能这段代码之后还会有用,于是就用注释代替删除,这是很不好的习惯,注释在那里的代码,往往隔离一段时间,你就忘记删了,而你的同事,看见你注释的代码,也不清楚为什么要注释,也不敢删你的代码,于是这段注释带的代码会一直伴随着项目;所以,建议如果这段代码不需要,放心大胆的删掉吧,你说如果日后要用重新写很麻烦?那你觉得git是用了做什么的?


3.6 解释的不清楚的注释

注释应该是代码难以理解的时候才通过读注释去理解,如果注释也不清楚,难道还需要注释的注释吗?那显然是很可笑的,所以,注释在写下后,最后自己读一遍,想想自己写的能不能很好的对代码做出解释。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。