最近忙的要死,因为新开发了两个项目.现在已经测试完毕了,准备部署到线上了.
然后不能白忙活吧,忙活完也得写点总结和经验吧,以后也有个记录.
1.一个bootstrap+jquery+layui+laravel 5.4开发的一个后台系统 比较朴素
2.一个前后端分离的vue+laravel 5.4 开发的商家系统 我只负责后端接口的开发和接口文档的编写
总结一下经验吧:
1.数据表的设计
a.设计字段的时候 要尽量把字段都设为not null,这样int类型不给默认值默认为0 string类型 不给默认值默认为'';因为如果字段为null 索引会失效,还有其他各种问题
b.int类型的没有特殊需求 加上unsigned;每个字段都加上commit 以防止3个月后自己也忘了这个字段是啥意思,更方便将来项目别人看代码 接收的便利性
c.数据表设为innodb 因为现在myisam有的性能 基本上innodb也都有了,而且如果将来用到事务 是只能用innodb的
d.设计数据表的时候要 尽量满足第三范式,但是有些字段如果经常查询用到,但是又要连表查询,会很复杂与费时间,那么就可以重复出现
2.接口文档的编写
a.如果涉及到前后端分离项目 或者是多个项目之间的对接(服务端 管理端 商家端等),那么就一定要编写接口文档,方便开发后和后期维护
b.接口文档的编写内容示例
在文档的开始部分要编写 版本修订信息 和 注意事项
包括 接口地址 请求参数 返回参数 即时返回参数的code返回码 还有请求参数和返回参数的json 样例数据(因为这样可以更好的体现数据的结构,便于开发与理解)
附一张支付宝接口文档的图 按这个来编写自己的接口文档即可
其中返回的结果中要有code返回码 和 msg说明 和 解决方案
如果有修改接口 也要及时修改 接口文档
3.在代码中常用部分的处理
在代码中 有些数据是公用的,会有很多地方用到 比如 某些目录的路径 当前服务器的ip和端口号 分页每页显示几条的配置 rsa接口公私钥的配置等等等;
如果我们不把它们拆出来 在很多地方都会用到 会有造成复用的,然后将来如果这个配置参数要发生修改,那么要改的地方又有太多了,很繁琐;
那么我们就可以把它们拆分出来放在
1.配置文件中
关于配置文件的使用可以 看我的这个博客:
https://www.cnblogs.com/djwhome/p/9176423.html
https://www.cnblogs.com/djwhome/p/9165855.html
2.数据库中
数据库的话我们可以建一个常用配置信息表,然后里面存放我们的各种配置信息
4.关于代码的复用性
在开发的时候 我们要写很多代码,那么就会出现很多会复用的代码;
比如我们要查询一条数据的具体信息,这个信息里有很多的其他字段时我们其他地方 再查询
这样我们就可以把它封装成为一个方法,
a.如果是想起他类中也调用 封装成静态公共方法
这样在其他地方需要用到同样的功能的时候,就可以直接调用,减少了开发成本与加强了代码的逻辑性
b.在封装代码的时候,我们希望代码的粒度越小越好,能拆分出来的,尽量都拆分出来,这样将来的代码就可以像乐高一样 由许多的小单元,可以拼成摩天大楼
c.还有在在开发的时候 遵循mvc的思想,尽量把和数据库增删改查的逻辑放到model层,把和业务逻辑的代码放到controller层,把和视图渲染 展示的代码放到view层,尽量做到各个层都只处理自己的业务逻辑,做到分工明确,有利于代码的查看和再次开发
5.日志的使用
a.在所有优秀的系统中,都有一个日志系统,比如咱们开发者最常用的错误日志,用来记录一些 代码运行中的重要的信息;
b.日志里可以记录我们一些重要的接口数据信息,一些重要操作的执行结果(成功还是失败 失败的原因);这样将来一些错误信息我们可以从日志中查出来,方便开发;