《卓有成效的程序员》读书笔记3

发布时间 2023-12-09 23:21:45作者: 突破铁皮
《卓有成效的程序员》就是这样一本教你如何变懒的书, 在机制部分,主要介绍了一些能帮助大家提升效率的工具,思想。

个人总结:

1、Mac系统上使用QuickSilver加快程序的启动。

2、尽量少的使用鼠标,甚至都不要使用上下左右的按键,因为这些手势都会导致效率的下降。

3、使用Vim作为文本编辑器。

4、使用多重剪贴板,因为环境切换回消耗时间,jumpcut就是其中的一个好工具。

5、记住历史,历史的命令,上次的操作目录等等,防止反复输入。

6、尽量使用命令行,图形界面很杀时间,华而不实。

7,IntelliJ中使用KeyPrompter来帮助记住快捷键,IntelliJ的快捷键会极大的提升我们的编码效率。

8、使用宏来记录一段反复使用的计算机操作。

9、做事情的时候专注,隔离干扰。

10、搜索优于导航,找东西的时候不要人肉遍历,使用内置的搜索会极大的提高效率。搜索时对正则表达式的理解会极大的提升你的效率。

11、多桌面的工作环境,一个桌面专注于做一件事。

12、自动化一切能自动化的东西

13、注意自动化时的“yakshaving”问题,一旦发现自动化耗时过多,果断停住,回顾。

14、一切跟你个人环境设置的项目文件都应该放到版本管理中。

15、如果不实时更新文档还不如没有文档。

16、把代码的提交信息尽量写详细,便于项目组成员之间的沟通。

17、白板+相机强于任何的Case工具。使用工具的成本一定要纳入项目考虑。

18、不要重复,重复是软件开发中的最大阻力,是写出良好代码的根本原则。

 

在实践部分,主要讲了一些在实践过程中自己总结的一些理念。

1、TDD的开发实践,消除功能浪费。

2、把注释重构成代码,需要写注释的代码意味着需要重构。

3、以TDD开发的代码应保持100%的测试覆盖率,没覆盖的代码意味着不应该存在,因为没有消费者。

4、使用CheckStyle,FIndbug,PMD帮助分析代码中潜在的问题。

5、不要破坏封装,只开放需要开放的成员变量。

6、构造函数的含义,没有状态的对象存在是没有意义的

7、慎用单例,单例对象自己管理自己的实例,显得有点怪,可通过工厂方法管理。

8、不要写出类似JDK的Calendar的代码,语义不明,自以为是的替客户做决定。

9、只开发现在需要的功能,不要开发将来要用的功能,不要给软件贴金使用最新的技术和框架,只选择当前业务需要的技术,如无必要,切勿给软件增加复杂度。

10、软件开发的第一步是沟通博弈,弄清楚问题远比解决问题重要。

11、区分事物的本质属性和附加属性。抓住事物的本质属性,去除附加属性可以让事情变简单。

12、学会质疑传统的方法,以开阔的思维解决问题。

13、组合方法,让方法看起来像一段连贯的话,方法的行数要少于15行。

14、每个方法的所有代码都应该属于同一级的抽象层次。

15、把所有的实现细节都封装在公共方法之外,对外提供只是方法的功能说明。

16、学习多种语言,根据每个语言的特点选择合适的语言解决问题。

17、好的工具可以提高效率,复杂的工具尽快抛弃,把所有的功能,行为都抱在可测试的代码当中。