ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 命名规范 >[danger] 编程领域有两个最难的地方,第一个是缓存,第二个就是命名。可见往往被我们忽视的命名是多么的重要的。 缓存难是因为,在复杂的系统中有一个很重要的指标就是缓存命中率,这个值如果想要提高一个点,付出的代价也是非常巨大的,几乎整个架构上的每一步都可以优化,每一步都非常复杂,在大型是系统中尤为如此,比如淘宝的系统,所以缓存的难,体现的是背后的系统架构。 命名难不是因为名字难起,而是命名的背后反映了更多的程序设计,模式,架构,等等问题,这些体现在命名上面,好的命名反映了程序设计的逻辑结构清晰,易懂,有时候一个贴切的命名使程序一看就懂,可读性大大提高,降低了后期维护成本,而一个不好的命名则使程序看起来比较混乱,即使代码写的再怎么精巧,也称不上是精美,这样的代码无疑会给整个系统的后期维护带来很多麻烦,所以好的命名规范,命名规则是多么的重要。 无论怎样,用你喜欢的风格即可,但是请始终保持一致。 * * * * * ### 命名是抽象的 或者说是抽象与具体结合的,但其实,具体也是抽象的,世间万物都是抽象的。 我们来看人名,比如说,马蓉这个名字: 马为姓名,表示她姓马,从而可知他爸爸姓马,可能还能知道是什么笔派的。 蓉为名,一岁一枯荣,蓉是花的意思,一般只有女孩的名字才会出现这个字。父母给她起这个是希望她健康,像花儿一样成长,成长环境,家庭的熏陶决定了孩子的性格,所以根据这个名字基本可以猜测这个女孩的性格了。 名字是抽象的,你可以说它有意义,也可以说她没意义,在于你怎么理解。 根据上下文关系,情景,我们把一些词归为,动词,名词,形容词,主谓宾,其实这些概念就是人们创造出来的,创造出来的那么它的本质就是抽象的,世间万物本是不存在的,世间万物其实都是抽象的,**为什么要抽象,因为要具体**,人们希望对事物更加了解,具体,所以才抽象出来很多东西,形成共识,这就是我们掌握知识的基础。 命名时首先列出这个事物的几个关键对象,比如侧边,关联,容器,记录,关联操作等等,先找出这些关键对象,在对它进行抽象。 * * * * * ### 工具推荐 **命名这么重要,这么复杂,有没有好的工具推荐呢?** 当然有。 [CODELF](http://unbug.github.io/codelf/):变量命名神器,你值得拥有 [百度翻译](http://fanyi.baidu.com/) [有道翻译](http://fanyi.youdao.com/) [海词词典](http://dict.cn/) > 可以装几个翻译的浏览器插件,实时划词翻译。 * * * * * ### 参考 - [PHP书写规范 匈牙利命名法+驼峰法命名 - lighthouse](https://my.oschina.net/u/2403409/blog/478191) - [php的命名规范 - 毅栈 - 博客园](http://www.cnblogs.com/wolfwows/p/5931181.html) - [PHP 代码简洁之道——函数部分](http://mp.weixin.qq.com/s/0ELHxChjHj7gFdCkhmpFvg) - [JavaScript 的 API 设计原则](https://mp.weixin.qq.com/s/8-0O2jQf5pm7XQWjysJKKQ) > 命名这点事:既要短,又要自描述,最重要的是保持一致性 “在计算机科学界只有两件头疼的事:缓存失效和命名问题” — Phil Karlton 选择一个你喜欢的措辞,然后持续使用。选择一种风格,然后保持这种风格。 - [谈编程 · php笔记 · 看云](https://www.kancloud.cn/xiak/php-node/500811) - [命名成为了程序员最难攻克的关卡](http://mp.weixin.qq.com/s/tvGohn0XPLF43ACbDhF22A) update time:2017-11-27 20:10:35