“编程是手艺,更是态度” 的表述,又让我沉下心来读。最先锁定第 33 章 “个人性格”,是因为很好奇:为什么一本讲代码的书,会把 “性格” 放在重要位置?读完才发现,作者把 “程序员该有的特质” 拆解得既具体又透彻,完全打破了 “写代码只靠技术” 的刻板印象。
作者提到的五种核心性格 —— 谦虚、求知欲、诚实、创造性与纪律,还有 “高明的偷懒”,每一点都能对应到实际编程场景。比如 “诚实” 这点,作者举了个让我印象极深的案例:某程序员写的代码全是模糊变量(x、xx1、xx2),还没注释,却因频繁 “救火” 改 bug,被上司当成 “技术高手”。这段像微小说的描述,戳中了很多人容易犯的错 —— 总觉得 “自己写的代码自己懂就行”,却忽略了代码是 “团队协作的载体”。后来我翻自己之前的代码,发现也有类似问题:变量名用 “temp1”“data2”,隔两周再看就想不起来含义,这才真正理解 “诚实面对代码可读性” 有多重要。
更颠覆我认知的是关于 “编程狂人” 的讨论。书中引用 Edward Yourdon 的观点:“没为程序熬到一天 16 小时、连梦都在想,就不算编过复杂程序”,但作者直接反驳:“这种痴迷是胡闹,健康的投入才是长久之计”。这恰好解答了我之前的困惑:身边有人为了赶项目连续熬夜,我没这样做,会不会显得 “不够热爱编程”?现在才明白,“热爱” 不是靠牺牲睡眠证明的 —— 作者提到 “高明的程序员会规划时间,用高效替代熬夜”,比如提前拆分任务、预留调试时间,反而比 “临时抱佛脚” 更能出好代码。我后来试了下:把一个小项目拆成 “需求分析 - 框架搭建 - 功能实现 - 调试优化” 四步,每天固定 2 小时专注编程,反而比 “熬一晚上赶工” 质量高,也没那么累。
另外,书中侧边栏的 “交叉参考提示” 特别贴心。比如讲 “创造性” 时,会提示 “可参考第 15 章‘代码复用的技巧’”,还引用了编程大师 Kent Beck 的话:“创造性不是凭空造轮子,而是在规则里找最优解”。这种设计让 “性格” 不再是抽象概念,而是能落地到具体编程方法的指导 —— 比如 “创造性” 对应 “如何用更简洁的逻辑实现功能”,“纪律” 对应 “坚持写注释、遵循编码规范”。
读完这章最大的感受是:好程序员的 “硬技术”,其实是靠 “软性格” 支撑的。比如 “谦虚” 让你愿意接受代码评审的意见,“求知欲” 让你主动学新的调试方法,这些比单纯 “会写语法” 更重要。