课程来自于陶文,课程PPT知乎专栏:zhuanlan.zhihu.com/p/34982747算法
因公司资源提供有幸可以视频学习陶大的课程,作笔记便于复习。编程
读代码实际是大脑解释和模拟执行代码的过程,所以根据大脑擅长和不擅长的原理来提升代码的可读性。设计模式
数据和算法模型应和心智模型对应; 语言是心智模型的外在表现。多线程
“有意义”:和心智模型对应异步
业务概念命名一致(理解产品语言)函数式编程
注释帮助代码映射到心智模型函数
注释应该关注 why 而不是 what/how,或是解释某种映射关系学习
如:提供代码的时空复杂度/选择模型的缘由等线程
不要一口气让大脑跟踪过长的流程。设计
知足某些条件时提前结束,避免大if..else统治整个函数
使用参数进行状态传递(函数式编程)
不使用全局变量修改状态,而使用参数
相关联的逻辑才放在一块儿;
流程之间作分割,不一样时描述多个流程的进度;
“高内聚低耦合”,知易行难。
有时候逻辑必须合并到一个流程中。 有时候适当的复制粘贴,来将混杂的流程拆分以增长可读性也是合理的。
信噪比是相对概念,会随场景而变化。 设计模式:装饰器 / 策略 / 模板 / 适配器 / 状态
提升一个目标的信噪比,每每会以下降另外一个目标的信噪比为代价。