注释起着很重要的作用,但是如果可以的话,尽量不要使用注释,而是书写更多的描述性代码。这是因为在你修改代码的时候,注释往往会被忽视。因此我这样说:注释有时会骗人(有错误),因为它周围的代码已经改变,而它自己没有被修改。

图源:unsplash

有三种方法书写代码:

· 在代码中使用注释。

· 将注释写在单独的文件中。

· 书写自我说明的代码。

我来详细说明一下最后一点。下面是书写更多描述性代码的意义:

· 好好设计代码库,使它方便查找且结构合理。

· 不要尝试保存缩写字母。在对变量、类和函数命名的时候使用全称,比如不用wm用windowManager,不用rf用readFileToString。当你或者其他人间隔数月再看代码试图理解其意思时,这种命名方式会有很大帮助。

· 尽可能多地提取函数并让它们各司其职。根据其功能进行命名,比如,创建一个将文件读入字符串的函数,将其命名为readFileToString(String fileName),不用仔细阅读代码就能明白它的作用。

最理想的情况是,你的代码由一系列这样的函数调用组成,读起来就像人类语言一样。只有在需要的时候,读者才会去深入理解,这些代码本身就有说明的作用。

代码不会骗人,但有时注释会相关推荐

  1. Xcode12.5的自定义代码块的使用和函数注释(学会事半功倍)

    Xcode12.5的自定义代码块的使用和函数注释(学会事半功倍) 第一篇 快捷键的定义 @property (nonatomic , strong) <#type#> <#name# ...

  2. BP神经网络预测回归MATLAB代码(代码完整可直接用,注释详细,可供学习)

    BP神经网络预测回归MATLAB代码(代码完整可直接用,注释详细,可供学习) 一.前言 二.代码部分 2.1 初始化 2.2 读取数据 2.3 设置训练集和测试集 2.4 数据归一化 2.5 求解最佳 ...

  3. 天津理工大学《操作系统》实验二,存储器的分配与回收算法实现,代码详解,保姆式注释讲解

    天津理工大学<操作系统>实验二,存储器的分配与回收算法实现,代码详解,保姆式注释讲解 实验内容 1. 本实验是模拟操作系统的主存分配,运用可变分区的存储管理算法设计主存分配和回收程序,并不 ...

  4. GitHub的AI写代码翻车了,会在注释里给你写上what the f***,因为...

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源 | 新智元 GitHub Copilot凭借着自动生成代码这个强有力的噱头,推出之后就成为了讨论的焦点. Copilot建 ...

  5. php代码清除空格注解,去除php注释和去除空格函数分享

    虽然php5中已有php_strip_whitespace方法可以返回删除注释和空格后的PHP源码的功能,为了学习,这里为大家提供一个自己的方法,也可以去除代码中的空白和注释,代码如下: . 代码如下 ...

  6. IDEA代码放大缩小快捷键设置、注释、标识符以及关键字。

    IDEA代码放大缩小快捷键设置 进入File Settings进行配置,找到Keymap,在左边搜索框搜索f.回车就会看到 DEecrease Font Size,右键快捷键选择Add Mouse S ...

  7. CNN经典网络模型(四):GoogLeNet简介及代码实现(PyTorch超详细注释版)

    目录 一.开发背景 二.网络结构 三.模型特点 四.代码实现 1. model.py 2. train.py 3. predict.py 4. spilit_data.py 五.参考内容 一.开发背景 ...

  8. 一行代码告诉你为什么python代码中要加#coding:utf-8注释

    初学者要么不大理解#coding:utf-8注释,但是会简单跟随着这一"习俗": 要么不大重视加这个注释,想着反正就是注释嘛,可有可无. 君子动手不动口,先上代码: print(r ...

  9. CNN经典网络模型(二):AlexNet简介及代码实现(PyTorch超详细注释版)

    目录 一.开发背景 二.网络结构 三.模型特点 四.代码实现 1. model.py 2. train.py 3. predict.py 4. spilit_data.py 五.参考内容 一.开发背景 ...

最新文章

  1. 规划文章的“显示效果”,还是太多犹豫。
  2. iOS开发UI篇—UIWindow简单介绍
  3. 思科路由器DHCP基础配置
  4. iOS进阶之架构设计MVVM模式实践(11)
  5. Java中通过NetworkInterface获取主机地址和物理地址等
  6. VTK:Picking之AreaPicking
  7. paper reference
  8. SAP开源的持续集成-持续交付的解决方案
  9. mat分析dump分析_MAT从入门到精通(一)
  10. python2/3 模块gmpy2在linux下安装
  11. php伪静态是什么,php路由设置伪静态
  12. android 菜单隐藏了,隐藏一些导航菜单菜单项 – Android
  13. JavaScript 原始数据类型转换
  14. city机器人 东京diver_东京一日游路线推荐
  15. ADS2015导入飞思卡尔元器件模型 安装DesignKit
  16. 知网html阅读怎么复制粘贴,网页文字不能复制粘贴怎么解决 网页文字不能复制粘贴的解决办法(推荐)...
  17. 硬盘安装win10,笔者教你如何一步步从硬盘安装win10系统
  18. nginx反向代理中proxy_set_header的含义
  19. 全自动过滤器:全自动叠片过滤器工作原理及应用范围
  20. UniApp文件上传

热门文章

  1. dataframe 输出标题_【学界】第八章:Python代码之数据输出、调参与算法总结
  2. java二叉树是什么_java数据结构二叉树是什么?特点是?
  3. mysql使用已有的数据库_使用SQL操作MySQL数据库
  4. python w3cschool_学习Python必去的8个网站
  5. 如何用python画长方形_Python 画矩形
  6. Source InSight context 窗口丢失的解决办法
  7. java配置环境及安装
  8. JAR包中读取资源文件
  9. atos命令符化号crash文件
  10. 【网络流24题----01】飞行员配对方案问题