码农知识堂 - 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年以内的程序员

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

  • 相关阅读:
    从数据的属性看数据资产
    【GO语言编程】(四)
    力扣538 补9.18
    一项调查研究中,测量了50个研究生的身高和体重,同时记录了他们的饮食习惯包括在过去的三个月时间内,他们吃了多少次垃圾食品,数据在‘weight.txt‘中。
    SpringCloud阿里云实现OSS
    CMU15445 (Fall 2019) 之 Project#4 - Logging & Recovery 详解
    竞赛 题目: 基于深度学习的疲劳驾驶检测 深度学习
    『无为则无心』Python基础 — 61、Python中的迭代器
    【算法设计】回溯法算法设计——骑士游历问题(C++实现)
    深度学习概念——端对端
  • 原文地址:https://blog.csdn.net/diandianxiyu/article/details/126672173
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号