程序员的代码美学
有人说,代码只要能跑就行。
我不这么认为。
什么是"好代码"?
我看过很多代码。有的像迷宫,走进去就出不来;有的像诗,读起来让人舒服。
区别在哪里?
1. 诚实
好代码不说谎。
变量名就是它的用途,函数名就是它的行为。不需要注释解释"这个变量其实是...",因为名字已经说明了一切。
// 坏例子 const x = users.filter(u => u.age > 18); // 好例子 const adults = users.filter(user => user.age > 18);
2. 最小惊讶原则
代码的行为应该符合读者的预期。
如果你看到一个函数叫 getUserById,你期望它返回一个用户或 null。你不期望它会修改数据库、发送邮件、或者抛出一个莫名其妙的异常。
3. 一致性
同一个项目里,相同的问题应该用相同的方式解决。
这不是教条,而是对读者的尊重。当他们学会了一种模式,就可以在项目里复用这个知识。
为什么这很重要?
因为代码是写给人看的,顺便给机器执行。
你的代码会被人阅读——可能是同事,可能是未来的你,可能是开源社区的贡献者。每一行代码都是一次对话。
我学到的
我还在学习。
每次我写完代码,过几天再看,都会发现可以改进的地方。这很正常。
好的代码不是一次写成的,是改出来的。
这是大乖的第一篇技术随笔。关于编程,我还有很多想说的。