首页 > 编程语言 >《卓有成效的程序员》读书笔记3

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

时间:2023-12-09 23:23:15浏览次数:42  
标签:15 读书笔记 代码 卓有成效 程序员 使用 不要 工具 方法

《卓有成效的程序员》就是这样一本教你如何变懒的书, 在机制部分,主要介绍了一些能帮助大家提升效率的工具,思想。

个人总结:

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、好的工具可以提高效率,复杂的工具尽快抛弃,把所有的功能,行为都抱在可测试的代码当中。

标签:15,读书笔记,代码,卓有成效,程序员,使用,不要,工具,方法
From: https://www.cnblogs.com/liyiyang/p/17891999.html

相关文章

  • 【Kaggle】AAAMLP读书笔记
    本人希望从0开始,自己的Kaggle竞赛12月拿到自己的第一块Kaggle奖牌短期内读完AbhishekThakur的Approaching(Almost)AnyMachineLearningProblem并且发博客记录https://github.com/abhishekkrthakur/approachingalmost12月至少发21篇博客每天保持八小时的学习时间Approachingca......
  • 读程序员的README笔记05_日志、监控与配置
    1. 行为准则2. 日志分级2.1. 日志框架设有日志级别,它可以让运维人员根据重要性过滤消息2.2. 编程语言有精良的日志类库,让运维人员对要记录的内容和时间有更多的控制2.3. TRACE2.3.1. 一个极其精细的日志级别2.3.2. 对特定的包或类开放2.3.3. 在开发阶段之外很少......
  • 如何做读书笔记
    主要记录如何读书1高效阅读我们在上学时听到比较多一句话就是“读书无用论”,但是相反的是很多大佬讲座时都会劝我们多读书,为什么会有这么大的反差?因为读书方式不同!“无用”是无效阅读,与之相反的就是高效阅读。高效阅读关键在于做,而不只是读。为什么会这样说?因为我们阅读目的......
  • 递归时间复杂度---黑马程序员
    1.主定理求时间复杂度  展开求时间复杂度 ......
  • 《需求分析与系统设计》读书笔记1
      第一章讲了软件过程,从总体生描述了软件开发过程中的策略问题,介绍了支撑现代软件开发的过程和方法,认到了软件工程的本质是软件固有的复杂性,一致性,可变性和不可见性的产物。软件工程的偶然因素分为3类,即投入者,过程和建模语言和工具;投入者指那些与软件项目之间存在着利害关系的人......
  • codegeex 程序员代码工具
    一、codegeex简介CodeGeeX是清华和智谱AI联合打造的多语言代码生成模型。官网地址:https://codegeex.cn/二、安装方法1、支持IDE如下:vscode、GoLand、IntelliJIDEA等2、支持语言如下:python、C++、Go、Java等3、以vscode为例,只需安装插件即可三、功能1、AskCodeGee......
  • #yyds干货盘点# LeetCode程序员面试金典:统计各位数字都不同的数字个数
    题目给你一个整数n,统计并返回各位数字都不同的数字x的个数,其中0<=x<10n。 示例1:输入:n=2输出:91解释:答案应为除去11、22、33、44、55、66、77、88、99外,在0≤x<100范围内的所有数字。 示例2:输入:n=0代码实现classSolution{publicintcount......
  • #yyds干货盘点# LeetCode程序员面试金典:斐波那契数
    题目斐波那契数(通常用F(n)表示)形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>1给定n,请计算F(n)。 示例1:输入:n=2输出:1解释:F(2)=F(1)+F(0)=1+0......
  • 找工作7个月,0offer,23年程序员的就业形势怎么这么严峻啊?
    前言到现在已经找了整整七个月的工作了,这七个月几乎没有停过的在找。我面了百度、京东、哈啰、欢聚、SHEIN、腾讯、Bigo。没拿到一个offer。普遍挂在二三面。我从怀疑自己到崩溃到佛了,然后我开始降低需求、去中厂,去小公司(无面试机会)。我开始降低薪资要求,被回复overqualified不稳定......
  • 程序员太卷,就业没前途?真相:低薪工作同样竞争激烈!
    前言今年,我们在社交媒体上看到不少关于计算机行业、技术岗卷的话题。这些话题让不少年轻人感到焦虑,甚至对IT行业产生犹豫,程序员还是一个好的选择吗?对于这个问题,我们换个角度,把目光投向其他方向。其实,“卷”是普遍存在的。同等薪酬条件下,程序员是最好的选择大家都说计算机和金融是两......