关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 程序人生 »代码注释中的5要与3不要

    代码注释中的5要与3不要

    2015-06-03 00:00:00 出处:ITJS
    分享

    代码注释,可以说是比代码本身更重要。这里有一些方法可以确保你写在代码中的注释是友好的:

    不要重复阅读者已经知道的内容

    能明确说明代码是做什么的注释对我们是没有帮助的。

    // If the color is red, turn it green
    if (color.is_red()) {
      color.turn_green();
    }

    要注释说明推理和历史

    要是代码中的业务逻辑以后可能需要更新或更改,那就应该留下注释:)

    /* The API currently returns an array of items
    even though that will change in an upcoming ticket.
    Therefore, be sure to change the loop style here so that
    we properly iterate over an object */
    
    var api_result = {items: ["one", "two"]},
        items = api_result.items,
        num_items = items.length;
    
    for(var x = 0; x < num_items; x++) {
      ...
    }

    同一行的注释不要写得很长

    没什么比拖动水平滚动条来阅读注释更令开发人员发指的了。事实上,大多数开发人员都会选择忽略这类注释,因为读起来真的很不方便。

    function Person(name) {
      this.name = name;
      this.first_name = name.split(" ")[0]; // This is just a shot in the dark here. If we can extract the first name, let's do it
    }

    要把长注释放在逻辑上面,短注释放在后面

    注释要是不超过120个字符那可以放在代码旁边。否则,就应该直接把注释放到语句上面。

    if (person.age < 21) {
      person.can_drink = false; // 21 drinking age
    
      /* Fees are given to those under 25, but only in
         some states. */
      person.has_car_rental_fee = function(state) {
        if (state === "MI") {
          return true;
        }
      };
    }

    不要为了注释而添加不必要的注释

    画蛇添足的注释会造成混乱。也许在学校里老师教你要给所有语句添加注释,这会帮助开发人员更好地理解。但这是错的。谁要这么说,那你就立马上给他个两大耳刮子。代码应该保持干净简洁,这是毋庸置疑的。要是你的代码需要逐行解释说明,那么你最需要做的是重构。

    if (person.age >= 21) {
      person.can_drink = true; // A person can drink at 21
      person.can_smoke = true; // A person can smoke at 18
      person.can_wed = true; // A person can get married at 18
      person.can_see_all_movies = true; // A person can see all movies at 17
      //I hate babies and children and all things pure because I comment too much
    }

    注释要拼写正确

    不要为代码注释中的拼写错误找借口。IDE可以为你检查拼写。要是没有这个功能,那就去下载插件,自己动手!

    要多多练习

    熟能生巧。试着写一些有用的注释,可以问问其他开发人员你的注释是否有用。随着时间的推移,你会慢慢懂得怎样才算是友好的注释。

    要审查别人的注释

    在代码审查时,我们往往会忽略查看注释。不要怕要求更多的注释,你应该提出质疑。要是每个人都养成写好注释的好习惯,那么世界将会更美好。

    总结

    注释是开发进程中非常重要的一部分,但我们不应该为了注释而注释。注释应该是有用的,简洁的,应该是对代码的一种补充。注释不应该用于逐行地解释代码,相反,它应该用于解释业务逻辑,推理以及对将来的启示。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    PNY 推出 CS3250 M.2 NVMe PCIe Gen5 x4 SSD,高端计算新标杆

    富士康承诺在泰米尔纳德邦投资 1500 亿卢比,创造 14,000 个就业机会

    NetApp Insight 2025:NetApp 和 Red Hat 加强协作,利用 Red Hat OpenShift 虚拟化推动 IT 现代化

    2025 年 OCP 全球峰会:Credo 推出 ZeroFlap 光收发器——人工智能网络光学器件的可靠性革命

    Kong 发布 Volcano,一个用于构建 AI 代理的 MCP 原生 SDK

    昂瑞微科创版IPO成功,上峰水泥跨界投资

    AI赋能,场景智变:第16届深圳国际移动电子展引领场景化消费新浪潮

    OpenAI估值5000亿美元,成全球初创公司中的“估值之王”

    战略突破:三菱电机以匠人心态引领功率半导体技术革新

    英伟达5亿美元投资英国自动驾驶初创公司Wayve

    IT头条

    Synology 更新 ActiveProtect Manager 1.1 以增强企业网络弹性和合规性

    00:43

    新的 Rubrik Agent Cloud 加速了可信的企业 AI 代理部署

    00:34

    宇树科技 G1人形机器人,拉动一辆重达1.4吨的汽车

    00:21

    Cloudera 调查发现,96% 的企业已将 AI 集成到核心业务流程中,这表明 AI 已从竞争优势转变为强制性实践

    02:05

    投资者反对马斯克 1 万亿美元薪酬方案,要求重组特斯拉董事会

    01:18

    技术分享

    大型网站的 HTTPS 实践(三):基于协议和配置的优化

    ubuntu下右键菜单添加新建word、excel文档等快捷方式

    Sublime Text 简明教程

    用户定义SQL Server函数的描述

    怎么在windows 7开始菜单中添加下载选项?

    SQL Server 2016将有哪些功能改进?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。