主题:一些开发规范 目标:罗列一些整体上的大规范;刻意练习:清单法 目标读者:有体检需求的人 近来要对公司的核心模块进行重构,之前一直野蛮生长,各写各的,导致同一种功能有N种写法,维护起来巨烦无比。 真的没有规矩不成方圆,开发一时爽,维护火葬场。所以趁此机会赶紧定个规范出来。 首先,项目采用微服务架构。主要功能是和各种第三方平台对接,所以服务的拆分粒度,就以平台来拆分。 整体服务架构 Project |--平台1 |--平台2 |--common |--cloud基础服务模块1 |--cloud基础服务模块2 其中common为二方库(公司内部发布到中央仓库,可供公司内部其它应用依赖的库(jar 包)),主要包括一些通用的类,比如工具类、异常、或者微服务自己互相调用使用的DTO对象。 单个微服务的内部目录结构 |--src |--java |--controller |--service impl |--manager |--dao entity(数据库DO) mapper |--constant(常量) |--request (接收的参数bean) |--response(返回的参数bean) |--client(与第三方接口交互的类) |--resource |--mapper |--xxxxMapper.xml |--yml |--pom 异常处理 dao层不打印日志,向上抛异常 service层打印日志 controller层把异常包装成状态码,500之类的。 接口的定义 使用restful风格,针对资源做具体的操作。 协议:https/http(尽量做SSL认证,使用https的协议) 域名:xxx.com 版本:v1 路径:/xxx/xxx/ (名词) 动作: get:查询 post:新建 put:全量修改(传所有字段) patch:增量修改(只传要修改的字段) delete:删除 先来这么多吧,另外阿里的java开发手册,也有必要从头到尾读一遍。 https://github.com/alibaba/p3c/blob/master/Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C(%E9%BB%84%E5%B1%B1%E7%89%88).pdf 字数:不统计 耗时:1小时 ··················END··················