1、访问控制层(Controller 层)中的方法命名方向是简洁明了,向着自然化语言方向靠拢,比如“更新用户”,建议命名为“updateUser”,而非“updateUserById”,实际上我们更新用户一般都是根据主键 ID 来实现的,所以“updateUserById”更适宜放在 service 中;自然语言对于前端用户(包括对第三方提供服务)更加的友好,更加的自然贴切,自然亲和感更强、更舒适。

  2、业务逻辑层(Service 层)的方法命名建议向我们程序员专业领域靠拢,向具体的实现细节倾斜,这样在出现了问题后方便我们快速跟着查找定位问题。比如“删除用户”操作,你一定想到了 Controller 中的建议命名为“deleteUser”,此处的 Service 建议命名为“deleteUserById”,这其实是贯彻了“由自然语言向专业领域渐进的原则(由抽象向具体递进原则)”。

  3、数据访问层(DAO 层)中的方法命名就要更加的具体啦!对于“模糊查询用户列表”这样的操作,Controller 层建议命名为“queryUsers”,这利用了英语中单词尾部"+s"表示复数的语法;Service 层中建议命名为“queryUserList”,这一点和上一条将的一致,在 queryUserList 方法中由于要处理分页,对于 M有SQL5 这样的数据库而言,一般都需要我们写两条语句来完成此功能,一条是查询总记录数的,另一条是查询业务数据的,所以在数据库访问层(DAO 层)就会涉及到两个方法,建议的命名分别为“selectUserTotalCount”和“selectUserList”,相对于业务逻辑层(Service 层)就更加的具体、更加的明细,同时也遵循了 SQL 语法的规则,更利于代码定位。

  4、从上面这三层的命名建议来看,我们其实都遵循了“由抽象向具体递进原则”。

  5‘类中的变量能用基本数据类型的,建议采用基本数据类型,这样的好处是内存开销更小、访问更快;原因是 JVM 中基本数据类型位于“JVM 方法栈”中,对象数据存储于“堆”中,在类初始化后变量就不会再改变了,而对象是在动态变化中,栈相对于堆而言,执行效率更高。

Java方法命名之“由简入繁”原则的更多相关文章

  1. 由简入繁实现Jquery树状结构

    在项目中,我们经常会需要一些树状结构的样式来显示层级结构等,比如下图的样式,之前在学.net的时候可以直接拖个服务端控件过来直接使用非常方便.但是利用Jquery的一些插件,也是可以实现这些效果的,比 ...

  2. Delphi 组件渐进开发浅谈(一)——由简入繁

    最近业余时间在写游戏修改器玩,对于Delphi自带的组件总觉得差强人意,需要书写大量冗余代码,如果大量使用第三方组件,在以后的移植和与他人交互时也不是很方便,因此便产生了自己封装组件的想法. 实际上这 ...

  3. web项目由简入繁

    1.MVC--[javaBean+接口+jdbc+servlet+jsp] 用javaBean做数据模型, 数据操作放到DAO层 前端页面展示由JSP完成 页面跳转由servlet完成,页面数据传递用 ...

  4. java开发命名规范

    使用前注意事项: 1.  由于Java面向对象编程的特性, 在命名时应尽量选择名词 2.  驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首 ...

  5. Java魔法堂:类加载器入了个门

    一.前言 <Java魔法堂:类加载机制入了个门>中提及整个类加载流程中只有加载阶段作为码农的我们可以入手干预,其余均由JVM处理.本文将记录加载阶段的核心组件——类加载器的相关信息,以便日 ...

  6. Js调用Java方法并互相传参

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. import org.json.JSONArray; import ...

  7. 15条变量&方法命名的最佳实践【转】

    原文地址:15 Best Practices of Variable & Method Naming 不同的代码段采用不同的命名长度.通常来说,循环计数器(loop counters)采用1位 ...

  8. JAVA包命名规范

    学习Java的童鞋们都知道,Java的包.类.接口.方法.变量.常量:JavaEE的三层模型等都有一套约定俗成的命名规则. 我学习每种语言都会关注相应的命名规则,一则体现自己比较专业:二来方便后检查, ...

  9. java开发命名规范(转载)

    java开发命名规范 使用前注意事项: 1.  由于Java面向对象编程的特性, 在命名时应尽量选择名词 2.  驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而 ...

随机推荐

  1. DP【洛谷P3135】[USACO16JAN]堡哞Fort Moo

    [洛谷P3135][USACO16JAN]堡哞Fort Moo Bessie和她的朋友Elsie正在建筑一个堡垒,与任何一个好的堡垒一样,这个需要一个强固的框架.Bessie想造一个轮廓是1m宽的空心 ...

  2. 【笔记】MySQL学习之索引

    [笔记]MySQL学习之索引 一 索引简单介绍 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可. 普通 ...

  3. linux 安装 配置网络 备份 快照

    安装系统准备: 1.软件准备 vmware workstation14.vm14key.centos系统镜像 secureCRT http://sw.bos.baidu.com/sw-search-s ...

  4. Hie with the Pie(状压DP+可以经过多次相同的点要全部走过的最短回路)

    大意:一个人要送n份货,给出一个矩阵,表示任意两个点间的直接路径长度,求从起点0送完这n份货(到达指定的n个地点)再回到起点0的最短时间.经过任意顶点的次数不限. 分析:既然是可以过多个点,那我们可以 ...

  5. PHP任意文件上传漏洞(CVE-2015-2348)

    安全研究人员今天发布了一个中危漏洞——PHP任意文件上传漏洞(CVE-2015-2348). 在上传文件的时候只判断文件名是合法的文件名就断定这个文件不是恶意文件,这确实会导致其他安全问题.并且在这种 ...

  6. 原 tomcat的server.xml配置文件中三个端口的作用

    以Tomcat7.0为例, 在安装目录下. conf/server.xml 中可以配置三个端口号, 如果使用多个tomcat 是需要配置这三个. 该Connector 用于监听请求. protocol ...

  7. 省市联动 js

    工作中见到这个省市联动代码,虽然很简单也能写出来,还是随便把它记录下来. //省市联动 function area(obj_id, area_pId, data_call_back) { ) retu ...

  8. 第十一章:DOM扩展

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. forEach与map

    一.原生js forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...

  10. robotframework使用过程中遇到的一些问题

    问题1: 在ride上import library,显示红色解决办法:根据菜单栏tools--view ride log提示依次安装缺少的模块,包括natsort.xlrd.xlwd.xlutils, ...