《代码整洁之道 程序员的职业素养》第四章

27 May 2021

Reading time ~8 minutes

能够感知到错误确实十分重要。

要精熟掌握某项技艺,关键都是具备“信心”和“出错感知”能力。

4.1 做好准备

  1. 首先,代码必须能够正常工作
  2. 代码必须能够帮你解决客户提出的问题
  3. 代码必须要能和现有系统结合得天衣无缝
  4. 其他程序员必须能读懂你的代码

如果感到疲劳或者心烦意乱,千万不要编码。

4.1.1 凌晨3点写出的代码

疲劳的时候,千万不要写代码。奉献精神和职业素养,更多意义上指要遵循纪律原则而非成为长时间工作的工作狂。

4.1.2 焦虑时写下的代码

专业开发人员善于合理分配个人时间,以确保工作时间段中尽可能富有成效。

4.2 流态区

高效率状态,通常被称为“流态”。

避免进入流态区。为了追求所谓的速度,理性思考的能力会下降。

4.2.1 音乐

听音乐似乎消耗了一部分宝贵的脑力资源,而这些资源本该用于编写设计良好的整洁代码。

4..2.2 中断

结对是用以应对中断的一种好方法。

另一种很有帮助的方法便是采用TDD。

4.3 阻塞

有一个很简单的好方法可以解决阻塞:找一个搭档结对编程。

创造性输入

“创造性输出”依赖于“创造性输入”。

4.4 调试

调试时间

衡量你是否是一名专业人士的一个重要方面,便是看你是否能将调试时间尽量降到最低。

4.5 保持节奏

4.5.1 知道何时应该离开一会儿

当碰到困难而受阻时,当你感到疲惫时,就离开一会儿,让富有创造力的潜意识接管问题。

4.5.2 开车回家路上

从问题中暂时脱离出来,十分有助于大脑以不同的但更具创造性的方式搜求各种解决方案。

4.5.3 洗澡

4.6 进度延迟

管理延迟的诀窍,便是早期检测和保持透明。

要根据目标定期衡量进度,使用三个考虑到多种因素的期限:乐观预估、标准预估、悲观预估。

4.6.1 期望

如果你呈现的数字可能会错过最终期限,那又该怎么办?

要让团队和利益相关者明白这个形势,除非另有后备预案,否则不要轻易松口退步。不要让其他任何人对此抱有期望。

4.6.2 盲目冲刺

唯一能够加快进度的方法便是缩减范围。不要经受不住诱惑盲目冲刺。

4.6.3 加班加点

不应该采用额外加班加点工作的方案,除非以下三个条件都能满足:

  1. 你个人能挤出这些时间
  2. 短期加班,最多加班两周
  3. 你的老板要有后备方案,以防万一加班措施失败了

4.6.4 交付失误

在程序员所能表现的各种不专业行为中,最糟糕的是明知道还没有完成任务却宣称已经完成。

如果试图对”完成”做出一种新的合理化定义,潜在的危险性是最大的。

4.6.5 定义“完成”

可以通过创建一个确切定义的“完成”标准来避免交付失误。

最好的方法是让业务分析师和测试人员创建一个自动化的验收测试,只有完全通过这些验收测试,开发任务才能算已经完成。

4.7 帮助

编程并非易事。

编程很难,事实上,仅凭一己之力无法写出优秀的代码。

4.7.1 帮助他人

互相帮助是每个程序员的职责所在。作为专业人士,要以能够随时帮助别人为荣。

4.7.2 接受他人的帮助

如果有人向你伸出援手,要诚挚接受,心怀感激地接受帮助并诚意合作。

要学会如何寻求帮助。

4.7.3 辅导

辅导缺乏经验的程序员是那些经验丰富的程序员的职责。



Reading NotesThe Clean Coder Share Tweet +1