笔记 03|基本工具:让工具成为思考的延伸

一、核心观点

这一章的主题是"驯服你的工具":一个能干的程序员,工具箱里应该有能快速完成重复劳动的利器,并且不依附于任何单一 IDE。

  1. 知识用纯文本保存。纯文本是最持久的格式:它能被 diff、被 grep、被任何年代的工具处理。作者强调"可持久的知识"胜过"便利的格式",因为工具的寿命远短于项目的寿命。
  2. Shell 是你的朋友与编辑器。GUI 教会我们点按钮,但批量、可重复、可组合的操作只有命令行能胜任。把常用流程写成脚本,是对未来自己的投资。
  3. 始终使用版本控制。作者把 VCS 视为"时间机器":它不只是备份,而是允许你安全地重构与试错。没有 VCS 的项目不配叫项目。
  4. 调试的第一原则是"不要慌"。调试不是猜谜,而是科学方法:复现、假设、实验、验证。作者提醒我们警惕"巧合式修复"——问题消失了不等于被解决了。
  5. 操纵文本是程序员的母语。学会用管道组合小工具(grep、awk、sort),比背一堆参数更能解决真实问题。
  6. 工程日记。把当天做了什么、哪些思路失败、哪些假设被验证记下来。它既是记忆外挂,也是复盘素材。

二、原文摘录

"知识是易腐的,要把知识保存为可持久的格式。"

"使用版本控制,始终如此,即使用于一次性的脚本。"

"所有程序都是由文本构成的,并且都处理文本。"

三、个人思考

工具章节容易被读成"技巧合集",但作者的真正主张是:工具决定了你的思考带宽。当命令行足够熟练时,你会自然地用"写个小脚本验证一下"代替"盯着代码想半小时"。这种把不确定性快速转化为实验的能力,才是效率的分水岭。

关于调试,我补充一个体会:最有价值的不是找到 bug 的那次调试,而是复盘为什么没早发现它。如果每次都停在"修好了",团队就失去了加固防线(测试、断言、日志)的机会。

四、行动清单

检查所有在维护的项目是否都有版本控制,包括一次性脚本目录。
把日常三条重复流程写成 Shell 脚本并纳入仓库。
建立工程日记(Markdown),每天三行:做了什么、卡在哪、下一步。
下一次调试时,先写下可复现的最小步骤,再开始改代码。

posted @ 2026-10-25 20:14  CCidy  阅读(7)  评论(0)    收藏  举报