首先分析数据结构,也就是通常意义上的表结构。最重要的是区分是不是同一种需求,如果不是,数据结构要尽量分开。数据结构打好一个很好的基础,上层的接口设计就会顺畅很多。
其次是定义内部接口,越复杂的功能,对于外界的接口定义往往越容易,而内部的接口设计往往最容易被忽略。做到以下几点,写起代码来就能更加得心应手。
第一,根据对外提供的接口list,列出自己的内部接口list。因为对外接口往往承载着模块的大部分功能,这样能做到简单而有依据。
第二,检查内部接口list,真正的做到接口方法功能单一。不要怕内部接口过多,如果实在过多,可以等到写完代码之后再去压缩,因为功能已经完成,所以压缩起来比刚开始设计起来要简单。
第三,对于接口参数和返回值的定义要简洁,不要过度利用一个“万能的参数”,多生成几个专用的VO。比如:内部接口参数返回值不用过度使用数据库VO。
最后是代码阶段。
减少引用的传递,避免方法层级过深。
不改变引用所指向对象里的值,否则使用的时候不知道之前被改变过而容易踩坑。
控制对象或者参数的使用“边界”,一个对象的范围往往仅在提供方和调用方使用,不要在除了这两个地方之外使用。
减少静态方法的使用,静态的往往代表着全局的意思。
其余还请参考:如何书写易于维护的代码
内部数据和接口定义这一块是最容易给自己留“坑”的地方,只有内部的接口设计好了,自己对于业务的理解越深刻,业务变动的时候自己越主动。
作为一名开发人员,要养成分析需求的习惯,不要一有需求,就想着用懒省事的方法解决,如果没有真的理解需求,而用最少的代码凑合着解决了问题,后续维护起来就会有很大的麻烦。