当前位置: 首页 > news >正文

《代码整洁之道》第4章 注释 - 笔记

注释的恰当用法是弥补代码表达意图时遭遇的失败,良好的代码,让读者看代码就能明白含义。

代码在变动,在演化。注释并不总是随之变动。不准确的注释比没有注释要坏的多。注释算的上是一种没办法去除的恶。

注释不能美化代码

与其花时间编写解释你搞出糟糕代码的注释,不如花时间清洁那堆糟糕的代码

用代码阐述

省略注释,用代码代替,很多时候只需要创建一个描述与注释所言同一事务的函数即可。

好的注释

  • 版权及著作权声明的注释
  • 解释抽象方法返回值,不过这也能利用函数名表达,比如:

又比如:

把这代码移交给某个转换日期和时间格式的类中,注释显得就是多余。

  • 对意图的解释,解释写某个功能、某个函数的意图
  • 阐释返回值或者参数,能不用注释就不用。
  • 警示其它程序员
  • todo ,todo 应该解释为什么该函数部分无所作为,将来应该是怎样

  • 放大某种看来不合理之物的重要性,强调这段不合理代码的重要性。如:

 

坏注释

坏注释是对糟糕代码的支撑、借口,或者对错误决策的修正

  • 喃喃自语,可能对未来的自己写了一点不明确的注释,让外人看着很迷惑,未来自己看到也迷惑
  • 多余的注释
  • 误导性注释,语句有时难以精确用注释阐述,会漏掉一些信息或者含义有失偏颇。注释的意思要足够明确,假如代码出现2个数字,而注释没解释好,就会让人混乱。

  • 循规式注释,每个函数都要有 javadoc 或者每个变量要有注释的规矩简直可笑!
  • 日志式注释,在每个模块、新功能开始出添加一条注释,这种冗长的记录只会让模块变得凌乱不堪,应当全部删除
  • 废话注释,对显然意思加以注释,喋喋不休。
  • 能用函数或变量就别用注释,如下:

  • 位置标记注释,比如一排--------,如果比较少还可以,如果多了那就乱七八糟。
  • 被注释的代码,有了 git 和 ide 的历史版本,代码丢不了,尽管删!
  • 注释过多,别把一些和代码无关的注释写上,如果要写注释,一定要精炼。别写故事!
http://www.xdnf.cn/news/168373.html

相关文章:

  • Android开发中svg转xml工具使用
  • 微服务基础-Ribbon
  • 2.脚本文件初识
  • 基于单片机的智能药盒系统
  • 【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?
  • 贪心算法-860.柠檬水找零-力扣(LeetCode)
  • 关于OCP认证:有Oracle和MySQL两种
  • 【vue3】购物车实战:从状态管理到用户体验的全流程实现
  • 996引擎-人物模型(UIModel):创建内观时装备偏移问题
  • 「Mac畅玩AIGC与多模态02」部署篇01 - 在 Mac 上部署 Ollama + Open WebUI
  • 云原生--核心组件-容器篇-4-认识Dockerfile文件(镜像创建的基础文件和指令介绍)
  • 深度解析:TextRenderManager——Cocos Creator艺术字体渲染核心类
  • Golang 遇见 Kubernetes:云原生开发的完美结合
  • Kotlin中的also、apply、invoke用法详解
  • 泛型的诗意——深入C++模板的艺术与科学(模版进阶)
  • 【MySQL】数据类型和表的操作
  • 数据结构【堆和链式结构】
  • 音视频之H.265/HEVC熵编码
  • 第三章,GRE和MGRE
  • 算法效率的钥匙:从大O看复杂度计算 —— C语言数据结构第一讲
  • 《数据结构初阶》【顺序表 + 单链表 + 双向链表】
  • JAVA:单例模式
  • 【含文档+PPT+源码】Python爬虫人口老龄化大数据分析平台的设计与实现
  • Python爬虫(6)静态页面解析实战:BeautifulSoup与lxml(XPath)高效提取数据指南
  • Kafka批量消费部分处理成功时的手动提交方案
  • C# 类的基本概念(声明类)
  • 技术分享 | Oracle-RAC修改IP信息
  • Redis超详细入门教程(基础篇)
  • redis_Windows中安装redis
  • Spring_MVC 中的 JSON 数据处理与 REST 风格开发