美文网首页
代码精进之路_Note

代码精进之路_Note

作者: 诸葛渔夫 | 来源:发表于2021-04-09 23:38 被阅读0次

《代码精进之路:从码农到工匠 》:

链接:https://pan.baidu.com/s/1naOeBlMnc3axGT3piD7euw
提取码:p4ak

image-20201219123154450

命名

好的命名要考虑事物本质,沿袭认知习惯,遵循编程规范,并且能尽可能自我表达。

代码即文档,好的代码能自我表达。

变量名应该是名词,在其作用域内便于区分其含义。

字面值应该定义成常量,提高可搜索性。

函数命名是要体现业务语义上要做什么,而不是技术细节。

类是数据和操作的封装,分为实体类和辅助类,实体类紧贴业务,辅助类辅助实体类实现业务,实体类命名体现业务含义,辅助类名称为对应实体加后缀名,后缀名表明其辅助范围,不能太笼统。

包是对类的分组,名称分隔符间为一个单词。

模块名体现架构层次。

统一业务语言和技术语言,保持概念的表述词唯一,减少沟通障碍。

自明的代码

通过中间变量名称,将计算过程显性化表达出来。

用设计模式通用命名表示设计意图。

注释不要复述功能实现细节,要解释意图。

规范

编码规范

编码风格一致,可以减少认知成本。

空行可以分隔不同功能的代码。

日志规范

ERROR表示自己无法恢复的致命错误,要打印异常堆栈、上下文信息。

WARN表示可预知的业务异常。

INFO表示业务执行过程和状态。

DEBUG表示调试信息,线上关闭。

异常规范

异常处理不统一的复杂性:

  • 把正常逻辑和异常混杂在一起,影响可读性。

  • 异常处理和错误码混乱

设定业务异常和系统异常,均为unchecked exception。

checked exception 破坏了开闭原则。

业务代码只管抛出异常,用AOP 统一处理异常,打印日志,返回错误码。

函数

用函数将逻辑显性化表达出来。

函数参数不要超过三个。

函数要短小而职责单一。

精简辅助代码,凸显业务码。

组合函数模式:公有函数体现执行概要,实现细节放在私有函数里。组合函数内抽象层次必须在一个层次。

设计原则

SOLID:

  • 单一指责原则
  • 开闭原则
  • 里氏代换原则
  • 接口隔离原则
  • 依赖倒置原则

instanceOf 和强制类型转换,破坏了里氏代换原则。

避免子类覆盖父类方法,会破坏里氏代换原则。

不要提前设计,某个功能代码,重复出现3次以内,直接复制,3次以上再进行抽象重构。

真正的简单,不是不思考,而是先发散思维后收敛,自下而上的归纳,自上而下的设计,把握住问题的核心。

模型

模型是对现实世界中关注的方面进行简化和抽象。

物理模型是对拥有体积和质量的物理形态的抽象。

数学模型可以定量的描述事物间的关系。

概念模型将现实世界中物体抽象为信息结构,与具体实现无关。

思维模型解决问题的套路。

思想

抽象就是寻找事物的共性,共性越宽泛,包涵的事物越广泛,抽象层次就越高,反之抽象层次越低。

分治:

  • 分治算法
    • 归并排序
    • 二分查找
  • 函数分解
  • 分治模式
    • 职责链模式
  • 分层设计
    • 架构分层
    • 网络分层
  • 横切纵切
    • 数据分库

相关文章

  • 代码精进之路_Note

    《代码精进之路:从码农到工匠 》: 链接:https://pan.baidu.com/s/1naOeBlMnc3...

  • 代码精进之路

    1. 大局观 每个组件间的关系,改动一个地方,对其他地方会造成什么影响 2.线程观 一段代码,被多个线程使用时,如...

  • 代码精进之路

    很多书会讲什么是好代码,如《代码简洁之道》,《代码之丑》,《代码精进之路》,记录一下自己在项目实践和学习过程中的感...

  • 代码精进之路学习

    代码精进之路 Author:我是付大善人 前言 本前言不是该课程自带的开篇词,而是我本人写这篇文章的前言。 8月份...

  • 代码精进之路1

    1.一个程序员的美德 就在于他 是否能为后人留下一段看得懂、可维护好的代码。2.写出好代码比写出代码要难得多。3....

  • 50 篇 Android 干货文章

    目录 热门技术 View 代码封装 源码分析 精进之路 热门技术 Kotlin初探 Kotlin成了Google的...

  • 《代码精进之路》笔记一

    什么是好代码 把错误关在笼子里 优秀程序员的六个关键特质 代码规范的价值 如何给代码起好名字 3. 优秀程序员的六...

  • 阅读记录:《代码精进之路》

    好久没有看开发技术实践类的书了,特别是直接讲代码技术的。 刚刚入行的时候就读了很多有关代码开发技术的经典书籍,比如...

  • Android 技术干货系列(一)

    目录 热门技术 View 代码封装 源码分析 精进之路 1 热门技术 Kotlin初探 Kotlin成了Googl...

  • Android 你需要的所有进阶资源

    目录 热门技术 View 代码封装 源码分析 精进之路 热门技术 Kotlin初探Kotlin成了Google的亲...

网友评论

      本文标题:代码精进之路_Note

      本文链接:https://www.haomeiwen.com/subject/amkgkltx.html