易写科技商城系统严格遵守开发规范,代码和数据库开源,数据库每个表、每个字段都有注释;代码每个方法都有注释。 我们在开发过程中,代码不是写给自己看的,更不是写给机器看的,是写给第三个人看的。
易写科技商城数据库设计是用PowerDesigner设计的,我们在交付我们客户时不只是交付数据库设计文档、SQL文件,连PowerDesigner设计的原始文件也会一并提供给我们的客户,帮助客户节约熟悉系统的时间,快递进行二次开发。
易写科技旗舰版把数据库拆分成2个:1、商城库;2、日志库。而大数据版本把项目拆分成多个不同的子系统,各个子系统的数据库是拆分开的,分别拆分成7个数据库,分别是1、系统库;2、用户行为日志数据库;3、商品库;4、会员库;5、订单库;6、商家库;7、分布式事务数据库。
商城系统共有一百多张表,其中每一张表都有非常清晰的注释,以下两张图是数据库设计中活动、商品、订单部分表截图,可以从图片中可以看出每个表注释都非常清晰;并且数据库设计的风格都是统一的,比如活动是以act加下划线开头,商家表以seller加下划线开头,订单表以orders加下划线开头,商品表以product加下划线开头等等,方便您二次开发。
商城系统每一张表的每一个字段都有非常清晰的注释,假如此字段是状态位,那么1表示什么,2表示什么,都会清晰的表述出来,以下两张图是表设计中核心订单表、商品表部分字段的截图,可以看出注释都非常的清晰,方便您二次开发。另外再数据库性能方面也是做了诸多的考虑,数据库状态位字段采用TINYINT,处理价格采用DECIMAL等。
商城系统按照功能对包名称就行规划,分为:商品(product)、会员(member)、系统(system)、订单(order)、购物车(cart)、三级分销(sale)等,包的命名和表的前缀名的命名是一一对应的,这样我们可以方便的知道那个包对应哪些表。
整个项目基于Maven构建,采用SpringCloud来开发,现在已经拆分成多个服务,1、商品服务;2、订单服务;3、商家服务;4、系统服务;5、会员服务;6、日志服务。每一个包下面的功能都是对应起来的,比如商品操作Controller层所有的类在product包下面,Service、ServiceImpl、Model、Dao、页面文件取名也都是product,这样包的层级清晰,二次开发时候找对应文件非常快捷,二次开发可省去大量的成本。
商城定义了严格的编码规范,目的是让项目中所有的代码都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。易写科技编写了《商城环境配置》、《商城开发管理规范》,并有对应的formatter.xml和codetemplates.xml,这样每一个人的代码风格都是相同的,减少不必要的SVN或者GIT冲突,我们的好多客户都拿我们的编程规范作为整个公司的编程规范,另外我们有自己的代码生成器,增删改查都可以自动生成,代码生成器是我们免费提供客户的。
我们在每一个接口都有清晰的注释,核心业务逻辑都有非常清晰的注释,为您二次开发省去大量的人力成本。