01
核心理念
Robert C. Martin 强调:代码首先是写给人读的,其次才是给机器执行。
02
命名艺术
有意义的命名是降低认知负荷的第一步,远胜于任何注释。
03
函数纪律
函数应只做一件事,且尽量短小,便于测试与复用。
★
适兕点评
适合作为团队代码评审的共识手册,每次 Code Review 都是对本书的实践。
坏代码 · BAD CODE
一段真实的「反模式」——变量名自欺欺人,函数同时完成查询、格式化与筛选
// 看起来能跑,但没人愿意维护
function get(d) {
var r = db.query(d.q);
for (var i = 0; i < r.length; i++) {
r[i].name = r[i].name.toLowerCase();
if (!r[i].isActive()) r.splice(i, 1);
}
return r;
}
好代码 · CLEAN CODE
同样的逻辑,拆解为可组合、可复用的纯函数,让意图一目了然
// 每个片段都说明自己的意图
function fetchActiveUsers(startDate) {
return db.query(buildUserQuery(startDate))
.map(normalizeUserName)
.filter(isActive);
}
function normalizeUserName(user) {
return { ...user, name: user.name.toLowerCase() };
}