设计基础:命名

2019/03/15 Thinking Naming

设计基础:命名

缩写

操作类

add   新增关联关系
crt create 创建实体
del delete 删除实体
frz freeze 冻结实体
ivd invalid 失效
rmv remove 移除关联关系
mod modify 改
lst list 查
one   根据id取记录
uld upload  
dld download  
bch batch 批量操作
top   最上/最前
bot bottom 最下/最后

状态类

bgn begin 开始
end   结束。配合开始形成拉链(合同开始结束时间,续签等),默认9999-99-99
len length 长度。配合开始用于分页,查询时可以通过开始及长度取数

权限类

canRead   比如活动已到期,但是依然可以看活动内容
canWrite   增删改
canExec   可用,同with option授权

审计

操作类

addUserId    
addDateTime    
crtUserId    
crtDateTime    
deleted   Y/N(default)
delDateTime    
delUserId    
freezed   Y/N(default)
frzDateTime    
frzUserId    
invalid   Y/N(default)
ivdUserId    
ivdDateTime    
removed   Y/N(default)
rmvUserId    
rmvDateTime    
modUserId    
modDateTime    

数据库

不要有保留字段:N年后谁知道保留字段到底有木有在使用?即使使用了,业务含义也很难理解

附属字段

refType   用于引用(比如文件信息表,记录文件来自哪个模块)
refId   用于引用(扩展ID)

扩展字段

extJsonStr   Object,所有属性可以为null,非null必须建字段;所有属性不用于表关联

树形字段

nodeName    
nodePath   /root/xxx/yyy/zzz/parentId/id/
nodeType   R(oot), B(ranch) or L(eaf)
parentId    

浏览器

避免

&    
=    
#    

后缀

Java

*Helper   帮助类,强业务相关,有依赖(数据库等),通常@Component注解
*Utils   工具类,非业务相关,无依赖,里面全是静态方法
*Wrapper   包裹类,主要用于包裹第三方类,便于以后替换第三方包,以及异常统一处理等

Search

    Donate

    ShaneKing

    Table of Contents