码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【好书推荐】你想要的编码规范都在这里 | 《代码整洁之道》


    目录

      • 一、引言
      • 二、书籍简介
      • 三、好代码自己会说话
        • 1. 清晰的变量命名规范
        • 2. 好注释与坏注释
        • 3. 错误处理
      • 四、总结

    一、引言

    你好,我是小雨青年,一名程序员。

    今天为你推荐的书籍是《代码整洁之道》。

    本书将为你解答:

    • 如何给变量命名;
    • 如何在代码中做错误处理;
    • 如何构建一个系统;
    • 如何做并发编程。

    二、书籍简介

    书名代码整洁之道
    作者[美]Robert C.Martin
    出版社人民邮电出版社
    ISBN9787115216878

    img

    三、好代码自己会说话

    1. 清晰的变量命名规范

    本书给我的第一个收获就是,他可以把命名这件事整理得如此清晰!不管你从业多少年,给变量、函数、类命名的问题会一直陪着你,而这本书,给我们一个清晰的答案。

    应当避免使用与本意相悖的词

    包含List、import、java等类名、关键字或特殊字;字母o与数字0,字母l与数字1等。

    使用可搜索的名称

    一些常量,最好不直接使用数字,而指定一个变量名,这个变量名可以便于搜索到。比如:找MAX_CLASSES_PER_STUDENT很容易,但想找数字7就麻烦了。
    长名称胜于短名称,搜得到的名称胜于用自造编码代写就的名称。

    2. 好注释与坏注释

    注释的恰当用法弥补我们在代码中的不足,因为代码一直在变动,所以注释会撒谎。

    作者用了一整章的内容阐述,什么是好注释,什么是坏注释。

    警示——用于警告其他程序员会出现某种后果的注释也是有用的。

    //执行这个测试用例会导致小雨青年的配置文件失效。
    
    • 1

    多余的注释——简单函数的头部注释是多余的,读这段注释的时间没准儿比读这段代码都长。

    废话注释——可能是复制粘贴后没有更改?

    /** name */
    private String name;
    
    /** name */
    private String xiaoyuqingnian;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3. 错误处理

    许多程序完全由错误处理占据,虽然错误处理很重要,但是如果它搞乱了代码逻辑,本身就是错误的做法。

    别传递 null 值——大多数编程语言中,没有良好的方法能对付由调用者意外传入的 null 值。事已如此,恰当的做法就是禁止传入 null 值。

    定义常规流程——在业务逻辑和错误处理代码之间有良好的区别,大量代码就会开始变得像是整洁而简朴的算法。

    四、总结

    本书应该也可以打上常看常新的标签了,哈哈。

    推荐人群:工作经验3年以内的程序员

    推荐理由:整洁的代码是程序员的基本功

  • 相关阅读:
    pnpm无法加载文件 (解决方法 )
    如何在Linux下编写代码和执行程序
    【408数据结构与算法】—树和二叉树(二十七)
    【kubernetes】从kubernetes Dashboard的yaml文件看应用的部署
    1.SpringBoot基础入门之HelloWorld
    PAT basic 乙级
    js 给选中的文字添加颜色、替换文字内容...,选中状态去除后更改还在(document.execCommand)
    Unity2023.1.19_DOTS_JobSystem
    《计算机基础与程序设计》之C语言复习—第二章算法
    vxe-table表格合并单元格
  • 原文地址:https://blog.csdn.net/diandianxiyu/article/details/126672173
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号