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

推荐订阅源

大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
量子位
A
Arctic Wolf
L
Lohrmann on Cybersecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
V
Vulnerabilities – Threatpost
博客园 - Franky
C
Cyber Attacks, Cyber Crime and Cyber Security
The Cloudflare Blog
Last Week in AI
Last Week in AI
The Hacker News
The Hacker News
I
Intezer
J
Java Code Geeks
P
Privacy International News Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Secure Thoughts
Cisco Talos Blog
Cisco Talos Blog
阮一峰的网络日志
阮一峰的网络日志
S
Securelist
Security Latest
Security Latest
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
Jina AI
Jina AI
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Exploit Database - CXSecurity.com
雷峰网
雷峰网
T
Tenable Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy & Cybersecurity Law Blog
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 【当耐特】
T
Threat Research - Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
N
News | PayPal Newsroom
Google Online Security Blog
Google Online Security Blog
K
Kaspersky official blog
H
Help Net Security
宝玉的分享
宝玉的分享
罗磊的独立博客
Webroot Blog
Webroot Blog
月光博客
月光博客
B
Blog RSS Feed
Recorded Future
Recorded Future

PixelNest

会议是效率的杀手 国庆出游记录 对居家办公的一些想法 2022 春节 《搏击俱乐部》的结局 纪念 PAI 头一回达到 100 卡片笔记法 《刑法学讲义》的部分摘录 迁移博客 《UNIX 传奇》摘录 就地过年 一点记录:docker-compose 编排不同项目间的网络 近期读的几本书 办新身份证 git 获取其他分支的单个文件或目录 我的高考成绩 推荐 2020 年上半年的 8 部影视作品 ChromeOS 开发者模式 终于下单了《守望者》 联通来电管家服务 一些实用的 bash 代码片段 关于 鸟枪换炮 《架构整洁之道》摘录 惨淡的星球大战 旧笔记本电脑 if...then... 命令行检测 SSL 证书过期时间 2019 国庆假期 在 Ubuntu 里按空格键预览 《基本穿搭》笔记 我在 Ubuntu 里安装的一些软件 让人郁闷的英语学习过程 色彩理论基础 向百度主动推送网站链接 两部电视剧 《历史的教训》摘录 新工具 Koa 获取客户端 IP 备案了 apiDoc 基础语法 《代码整洁之道》摘录 BBC 纪录片 《逻辑的乐趣》 读不下去的《原则》 蓝牙鼠标唤醒休眠的 Ubuntu Google 发布会 2018 国庆假期 开发者的时间追踪和统计 使用 curl 发送 POST 请求的几种方式 《重来 2》读书笔记 Linux 和 MacOS 命令行转换图片用法整理 《Go 语言实战》笔记 Win10 微软拼音添加小鹤双拼以及其他配置 针对不同场景临时禁用 eslint 规则的方法 《好妈妈胜过好老师》读书笔记 配置 Win10 Linux 子系统作为开发环境 又读完一本尤·奈斯博的小说 近期写 Go 的一点语法碎片整理 ffmpeg 合并 MP4 M4A 文件 睡前看手机的大问题 《局外人》读书笔记 菊次郎与佐纪 读书笔记 3 菊次郎与佐纪 读书笔记 2 菊次郎与佐纪 读书笔记 1 豆瓣图片服务器防盗链 《如何有效阅读一本书》读书笔记 - 3 《如何有效阅读一本书》读书笔记 - 2 《如何有效阅读一本书》读书笔记 - 1 Vim iskeyword 济南 图个乐 开始看不懂《西部世界》了 剧透 听到几个好故事 过周末 相亲 让人失望的 Apple 悬疑故事 AI 记忆 世纪三部曲 上帝的梦
《程序员的职业素养》读书笔记
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 于不顾。
  • 保存好自己的精力和创造力,不要在身心疲惫和焦虑时思考代码、写代码。
  • 尽量避免走入死胡同,比死胡同更可怕的是陷入泥潭。

流态区

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

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

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

作者建议避免进入流态区