There are only two hard things in Computer Science: cache invalidation and naming things.
计算机科学中只有两件事很难:缓存失效和命名。
— Phil Karlton
好的命名
直白的,有意义的
好的命名是易于理解的,也就是直白的,有意义的。比如:fetchUserInfo。
推荐阅读:故宫命名法。
遵循行业惯例
好的命名也应该遵循行业的习惯惯例。如:业界惯例 id 作为唯一标识命名,不要用 identifier。i、j、k 用来做循环计数变量命名。
符合代码风格
好的命名应该符合当前项目的代码风格。如:驼峰风格等。
下面说一些不好的命名。
不好的命名
无意义的名字
如:foo, bar。
太过抽象的名字
如:data,res,temp,tools。
会有歧义的简称
如:mod。你可能无法确认到底是 mode 或 module。
不必要的上下文信息
// bad
function async getUserName (userId) {
const userName = await fetchUser(userId)
return userName
}
// good
function async getUserName (id) {
const name = await fetchUser(id)
return name
}
太长的名字
太长的名字,不容易理解。如:fetchGraintYoungestBoyName。优化方式,将不重要内容省略掉,如改成:fetchBoyName。
命名参考工具
CODELF
帮你搜索 Github、GitLab 等网站中,你想查找的内容的不同命名。