类名/接口名
单词首字母大写
,izer
变量名
首字母小写 , 多个单词组成时 , 除首个单词 , 其他单词首字母都要大写
,
常量名
全部大写 , 多个单词 , 用'_'分隔
方法
同变量
read(), (), ()
类命名
类名使用大驼峰命名形式 , 类命通常使用名词或名词短语 。接口名除了用名词和名词短语以外 , 还可以使用形容词或形容词短语 , 如 , 等 , 表示实现该接口的类有某种功能或能力 。
场景约束示例
抽象类
或者 Base 开头
枚举类
Enum 作为后缀
工具类
Utils 作为后缀
异常类
结尾
接口实现类
接口名+ Impl
设计模式相关类
, 等
当使用到设计模式时 , 需要使用对应的设计模式作为后缀 , 如
处理特定功能的类
, ,
表示处理器 , 校验器 , 断言 , 这些类工厂还有配套的方法名如 , ,
特定层级的类
, , , Dao 后缀
, ,
特定层级的值对象
Ao, Param, Vo , ,
Param调用入参;Ao为返回结果;Vo通用值对象;配置类;为MQ消息
测试类
Test 结尾
, 表示用来测试类的
方法命名
方法命名采用小驼峰的形式 , 首字小写 , 往后的每个单词首字母都要大写 。和类名不同的是 , 方法命名一般为动词或动词短语 , 与参数或参数名共同组成动宾短语 , 即动词 + 名词 。一个好的函数名一般能通过名字直接获知该函数实现什么样的功能 。
场景约束示例
返回真伪值
is/can/has/needs/
/
用于检查
/
/
按需执行
/try//
//
数据相关
get//save/// / ///
/ime
生命周期
/pause/stop/
/pause//stop/
常用动词对
split/join、/、bind/、 /、lanch/run、/、build/、 /、/、push/pull、enter/exit、 /、/
重构技巧 提炼方法
多个方法代码重复、方法中代码过长或者方法中的语句不在一个抽象层级 。方法是代码复用的最小粒度 , 方法过长不利于复用 , 可读性低 , 提炼方法往往是重构工作的第一步 。
意图导向编程:把处理某件事的流程和具体做事的实现方式分开 。
/** * 1、交易信息开始于一串标准ASCII字符串 。* 2、这个信息字符串必须转换成一个字符串的数组 , 数组存放的此次交易的领域语言中所包含的词汇元素(token) 。* 3、每一个词汇必须标准化 。* 4、包含超过150个词汇元素的交易 , 应该采用不同于小型交易的方式(不同的算法)来提交 , 以提高效率 。* 5、如果提交成功 , API返回”true”;失败 , 则返回”false” 。*/public class Transaction {public Boolean commit(String command) {Boolean result = true;String[] tokens = tokenize(command);normalizeTokens(tokens);if (isALargeTransaction(tokens)) {result = processLargeTransaction(tokens);} else {result = processSmallTransaction(tokens);}return result;}}复制代码
以函数对象取代函数
将函数放进一个单独对象中 , 如此一来局部变量就变成了对象内的字段 。然后你可以在同一个对象中将这个大型函数分解为多个小型函数 。
引入参数对象
方法参数比较多时 , 将参数封装为参数对象
- 常见代码重构技巧
- 解密:为什么唐玄宗选择将诗人李白赐金放还?
- 高欢为什么不如宇文泰:输在高欢的儿子不争气
- 雍正皇帝为什么要逼*自己的生母罪有应得
- 为什么说猛将岳云不敢用西瓜大小的锤子?
- 世界上最凶猛的十大恶犬,遇见要躲! 世界上十大禁犬
- 新“恐怖童谣”小白船:明明是小孩子唱的歌,为什么可怕? 中国十大恐怖歌曲播放
- 全球刹车片10大品牌排行榜,要换刹车片照着买就行! 世界刹车片十大品牌
- 刺猬冬眠需要准备什么,刺猬会冬眠吗
- 揭秘为什么秦始皇和汉武帝都不喜欢商人