Skip to content

Instantly share code, notes, and snippets.

@SongFuZhen
Last active July 27, 2021 18:09
Show Gist options
  • Save SongFuZhen/2e6085b68ba50e94769853754a2be0d7 to your computer and use it in GitHub Desktop.
Save SongFuZhen/2e6085b68ba50e94769853754a2be0d7 to your computer and use it in GitHub Desktop.

高效程序员的45个习惯:敏捷开发修炼之道

做事

Blame doesn't fix bugs 指责不能修复 bug

欲速则不达

  • Beware of land mines 防微杜渐
  • 要理解开发过程
  • Don't code in isolation 不要孤立的写代码 = 代码复审
  • Use unit tests 使用单元测试

对事不对人

  • 引导性的提出一个疑问,让他们自己意识到问题
  • Negativity kills innovation 消极扼杀创新
  • 你不需要很出色才能起步,但是你必须起步才能变得很出色 - Les Brown
  • 能容纳自己并不接受的想法,表明你的头脑足够有学识 - 亚里士多德
  • 设定最终期限
  • 逆向思维
  • 设立仲裁人/主持人
  • 支持已经做出的决定

排除万难,奋勇前进

  • Who Will Bell the Cat - 谁去给猫系铃铛
  • 践行良好习惯

程序员修炼之道 - 通向务实的最高境界(第二版)

(美)David Thomas(大卫·托马斯),Andrew Hunt(安德鲁·亨特). “程序员修炼之道:通向务实的最高境界:第2版.”

DRY = Do not repeat yourself,不要重复自身

是指编程过程中不写重复代码,将能够公共的部分抽象出来,封装成工具类或者用“abstraction”类来抽象公有的东西,降低代码的耦合性,这样不仅提高代码的灵活性、健壮性以及可读性,也方便后期的维护或者修改。

TDA = Tell Don't Ask,只管命令,不要询问

“这个原则说的是,不应该根据对象的内部状态做出决策,然后更新该对象。这样做完全破坏了封装的优势,并且在这样做时,也会把实现相关的知识扩散到整个代码中。

LoD 墨忒耳法则

LoD是由伊恩·霍兰德在20世纪80年代末提出的一组参考指南[1]。创建这组指南是为了帮助得墨忒耳项目的开发人员保持函数简洁和解耦。

LoD 说的是,定义在C 类中的函数只应该调用:

  • C类其他实例的方法
  • 它的参数
  • 它所创建出来的对象的方法,包括在栈上和堆上的对象
  • 全局变量

FSM = 有限状态机

状态机基本上就是怎样处理事件的一份规范。它由一组状态组成,其中一个是当前状态。对于每个状态,我们列出对该状态有意义的事件。对于每个事件,我们定义出系统新的当前状态。

image00282.jpeg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment