码迷,mamicode.com
首页 > 其他好文 > 详细

代码精进之路 第一章 命名

时间:2020-06-08 23:20:20      阅读:66      评论:0      收藏:0      [点我收藏+]

标签:java   问题   破坏   使用   仓储   开发   range   针对   服务类   

名为万物之始,万物始于无名,道生一,一生二,二生三,三生万物。

——《易经》

在程序员的工作中,大部分时间都在阅读和理解代码,一个好的命名能够让代码的概念清晰,增加代码的表达力;词不达意的命名会破坏我们的思考的连贯性,分散有限的注意力。

命名的力量远超乎于我们的想象,一个好的企业名,产品名或者是命名都能带来不同的影响力。

就目前国内最大的互联网电商企业阿里巴巴,马云爸爸在开始做这个电子商务网站的起初,就开始思考该如何取一个名字,不仅容易记且还能让人觉得有意思。书中就写到了这个故事"有一天,马云在旧金山的街上发现了阿里巴巴这个名字蛮有意思,正在思考时,一名服务员送过来了一杯咖啡。马云就问题他:‘你知道阿里巴巴吗?’他说:‘当然知道了,就是open seasame(芝麻开门)’。然后马云在街上找了来自不同国家数十个人,问他们知道阿里巴巴吗?他们大多数都能讲到芝麻开门。"所以,才有了阿里巴巴这个名字,一个好的名字不仅能让人很容易的记住,且还有可能成为一个企业发展路上的垫脚石。

书中还跟我们分享了另外的一个故事,“java企业级应用的开发历史上,也有这么一段有趣的历史。在2000年左右,EJB(ENterprise Java Bean)大行其道,这让Martin Flower,Rebecca Parsons 和 Josh MacKenzie等人感到很困惑。后来他们发现人们之所以不愿意在他们的系统中使用普通的java对象,是因为缺少一个酷炫的名字——POJO(Plain Old Java Obect)。当时的EJB在开发和部署上给开发者带来了沉重的负担,POJO概念的提出很快得到了开发者的拥护。Spring等一系列轻量级框架的诞生,很快终结了EJB的统治地位,因此在一定的程度上加快了EJB的灭亡”

其实,说到命名是一个很难得活,起名字这件事其实很耗脑力,需要深思熟虑才能取出名副其实表达性很好的名字。命名大的难就在于名字本身就是一个抽象的过程,在工作中,我们需要给一个模块,一个对象,一个函数甚至于一个变量找到合适的名字,有时候往往对其问题理解不够透彻取不到很好的名字,所以在对问题进行分析和抽象,就得要很好的调整设计代码,之所以能够很好的写出一手好代码,基于能够取很好的命名。

代码既是文档,可读性好的代码能够不借助注释就能够很好的理解。接下来,针对各种命名说明一下如何设计:

变量名:名词,有很好的业务,表达能力 例如 PAGE_SIZE 每页的数量,一看就是明白。

函数名:函数名字需要具体,不能太空泛没有意义,例如 processData()很摸棱两可,相比之下ValidateUserCredentials()就要好许多,函数名就是要确定做什么而不是怎么做。

类名:类是面向对象重要概念之一,一个大的系统可分为两个大类:实体类和辅助类。命名需要充分体现业务语义,例如,Customer控制类CustomerController,提供Customer服务类CustomerService,获取数据仓储类CustomerRespository。

包名:代表了一组有关系的类的集合,之前的javascript早期就是起名太宽泛了,导致后期有点混乱。包名就需要升级到抽象上,例如 Apple,Pear,Orange就可以包在fruit包中。

模块名:这里说的模块Module主要是指Maven中的module,模块就是相对于包粒度更大,包含了多个包 就像是Controller器模包含xxx-controller等。

代码精进之路 第一章 命名

标签:java   问题   破坏   使用   仓储   开发   range   针对   服务类   

原文地址:https://www.cnblogs.com/zyz52018/p/13069108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!