首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

代码定名最佳实践:类品用英文简称,包名用英文全称

2012-08-25 
代码命名最佳实践:类品用英文简称,包名用英文全称java代码中包、类的命名一直是很纠结人的东西,也是体现代

代码命名最佳实践:类品用英文简称,包名用英文全称
java代码中包、类的命名一直是很纠结人的东西,也是体现代码能力的一个指标。比如




命名的其中一个纠结点是,如何在命名中体现当前所处的系统或者业务模块

1. 不体现。比如交易通知获取服务的请求就叫Service
2. 忠实体现,如NotifyFetchTradeService
3. 以简称方式体现,比如NfTradeService

具体怎么叫,不仅影响代码的可理解性,更重要的是,会影响在IDE里迅速定位这个类的效率 

分析

1.如果只叫Service,在IDE里查找特定的service时就会比较麻烦。因为以Service开类的类会非常多,如果你习惯把这个模块的服务命名为Service,那你大概也会把另一个模块的服务类也命名为Service.这就导致你每次查找特定的Service时都会看到一个很长的列表,效率受损。

2.如果叫NotifyFetchTradeService,则不存在命名冲突问题。但你在IDE里查找时要键入很多字符;更严重的是,由于拼写太长,你会常常想不起它的全称,正如你想不起来"FIFA"的全称一样

3.使用简称NfTradeService,则是可以接受的折衷,命名冲突少,也容易记。不过,它仍有一个缺陷,即系统的新手看到NfTradeService类,而类注释又很简略时,则可能不知所云:“什么叫Nf”? 也就是说,简称降低了可理解性

补充方案就是,在包名里使用全称,比如 com.mycompany.notify.fetch; notify.fetch对新手来说,会比nf友好的多。 


总结
  类在命名时要尽量体现本类所处的业务模块,同时保证这个类在IDE里可被迅速定位。 通过简称类名+全称包名,可以实现这个目标。

热点排行