一些开发规范
主题:一些开发规范
目标:罗列一些整体上的大规范;刻意练习:清单法
目标读者:有体检需求的人
近来要对公司的核心模块进行重构,之前一直野蛮生长,各写各的,导致同一种功能有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··················