惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
博客园 - Franky
The Cloudflare Blog
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
小众软件
小众软件
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
B
Blog
Y
Y Combinator Blog
V
V2EX
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
博客园 - 司徒正美
IT之家
IT之家
G
Google Developers Blog
C
Check Point Blog
Engineering at Meta
Engineering at Meta
Microsoft Security Blog
Microsoft Security Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

PixelNest

会议是效率的杀手 国庆出游记录 对居家办公的一些想法 2022 春节 《搏击俱乐部》的结局 纪念 PAI 头一回达到 100 卡片笔记法 《刑法学讲义》的部分摘录 迁移博客 《UNIX 传奇》摘录 就地过年 一点记录:docker-compose 编排不同项目间的网络 近期读的几本书 办新身份证 git 获取其他分支的单个文件或目录 我的高考成绩 推荐 2020 年上半年的 8 部影视作品 ChromeOS 开发者模式 终于下单了《守望者》 联通来电管家服务 一些实用的 bash 代码片段 关于 鸟枪换炮 《架构整洁之道》摘录 惨淡的星球大战 旧笔记本电脑 if...then... 命令行检测 SSL 证书过期时间 2019 国庆假期 在 Ubuntu 里按空格键预览
《程序员的职业素养》读书笔记
2019-10-25 · via PixelNest

这本书的英文名是 The Clean Coder, 中文译名是《代码整洁之道:程序员的职业素养》,跟《代码整洁之道》是同一个作者。这本书与具体的代码技巧关系不大,主要就讲了一件事——如何做一名专业的程序员。

挺薄一本书,内容都是日常所见,加上翻译也不错,所以读起来感觉轻松流畅。书中多数内容早已在实践,我印象最深刻的是这样几点:专业人士的态度,要重视测试,如何预估项目,以及对「流态区」的看法。

态度

专业人士至少应当有这样的态度:负责任,有担当。尽可能不出错,能为自己的错误负责。

测试

书中多次讲到「测试」,并且有专门的一章「测试驱动开发」,也就是 TDD。专业人士不破坏软件功能,不破坏软件结构,都需要靠覆盖率 100% 的测试来保证。

开发者自己写单元测试,一方面让代码质量得到保障,另一方面单元测试可以描述函数的意图,单元测试即是文档。遵循 TDD 的法则,为了能够让代码更「好测」,能够促使程序员在开发时对代码做出更好的设计。此外,开发者要辅助 QA 和业务人员写验收测试来明确开发需求。

预估

预估和承诺是两回事。

对于如何预估软件项目要花的时间,书中介绍了 PERT 预估法,有三个关键因素:乐观预估 O,标称预估 N 和悲观预估 P。

期望值 u 的计算公式是:

u = (O + 4N + P) / 6

标准差 σ 的公式是:

σ = (P - O) / 6

其他

  • 坚守原则,该说“不”时不能给出暗示性的虚假承诺,面对压力时也不能抛弃纪律和原则不顾。比如,即使工期紧,压力大的时候,也不能置 TDD 于不顾。
  • 保存好自己的精力和创造力,不要在身心疲惫和焦虑时思考代码、写代码。
  • 尽量避免走入死胡同,比死胡同更可怕的是陷入泥潭。

流态区

作者对「流态区」的看法,与我之前看到过的有关「心流」的观点截然相反。我不敢断定他们是不是在说同一个东西,如果是的话,那么跟书中其他内容相比,对「流态区」的描述是跟我的已有认知相差最大的。这也是为什么我给这个概念单拎出来一节内容。

这种意识状态并非真的极为高效,也绝非毫无错误。这其实只是一种“浅层冥想”状态,在这种状态下,为了追求所谓的速度,理性思考的能力会下降。

在流态区状态下,你其实放弃了顾及全局,因此,你很可能会做出一些后来不得不推倒重来的决策。在流态区写代码可能会快些,但是后面你将不得不更多地回头重新审视这些代码。

作者建议避免进入流态区