「程序员修养」指的是写代码之外、但决定你职业高度的那些能力:代码风格、调试方法、版本管理、阅读源码、以及持续学习的习惯。语法决定你能不能写出程序,修养决定你的程序能不能被别人接手、能不能活得久。
一句话定位
修养 = 让别人(和三个月后的自己)愿意读、看得懂、改得动的能力。
知识体系
flowchart TD A[程序员修养] --> B[代码质量] A --> C[工程方法] A --> D[学习能力] A --> E[职业素养] B --> B1["命名: 见名知意"] B --> B2["代码风格与缩进"] B --> B3["注释: 讲为什么"] B --> B4["函数短小单一职责"] C --> C1["版本控制 Git"] C --> C2["调试: 断点 / 日志 / GDB"] C --> C3["单元测试"] C --> C4["构建与自动化"] D --> D1["读优秀源码"] D --> D2["读官方文档与手册"] D --> D3["做刻意练习"] D --> D4["写技术笔记"] E --> E1["有效沟通"] E --> E2["需求拆解"] E --> E3["时间与优先级管理"]
核心要点
- 命名是最便宜的文档:变量名
timeoutMs远胜t;函数名用动词,类型名用名词。 - 注释解释「为什么」,代码解释「是什么」:别写
i++; // i 加一。 - Debug 能力 > 编码能力:先复现、再定位、后修复;善用断点、
printf、日志和版本对比。 - 会用 Git:提交信息清晰、小步提交、善用分支,是所有协作的前提。
- 读源码:从一个小而精的项目开始(如某开源库),带着问题读,比漫无目的地看有效得多。
- 文档即能力:能把一个问题讲清楚,说明你真的懂了。
- 持续学习:技术半衰期很短,建立自己的知识库(比如这座 数字花园)比追热点更重要。
推荐习惯
- 每天写一点笔记;2. 每个 Bug 都记录根因;3. 代码写完先自己 review 一遍;4. 保持英文技术阅读。