最近忙的要死,因为新开发了两个项目.现在已经测试完毕了,准备部署到线上了.

然后不能白忙活吧,忙活完也得写点总结和经验吧,以后也有个记录.

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.日志里可以记录我们一些重要的接口数据信息,一些重要操作的执行结果(成功还是失败 失败的原因);这样将来一些错误信息我们可以从日志中查出来,方便开发;

转载于:https://www.cnblogs.com/djwhome/p/9365326.html

项目开发中的自我总结相关推荐

  1. 软件项目开发中的百分之九十效应

    在软件项目管理中,经常遇到这样的情况:进度到百分之九十后开始停滞,要花很长很长时间很大很大代价(甚至超过前百分之九十所花费的工时.工期)才能完成最后的百分之十.我把这种情况叫作:软件项目的百分之九十效 ...

  2. 如何在业务开发中实现自我成长

    笔者按 悟已往之不谏,知来者之可追. 从初入职场到现在,已经两年有余,看起来还是前途有限.后患无穷.写罢此文,聊以自慰,勉过往而励将来. 长久以来,我一直在思考两件事情:怎么把过往的经历抽象成可复用的 ...

  3. React项目开发中的数据管理

    原文链接:https://blog.csdn.net/hl582567508/article/details/76982756 redux中文文档:http://cn.redux.js.org/ Re ...

  4. 项目开发中常用JS表单取值方法

    项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的)         1.form1.Te ...

  5. aspnet是前端还是后端_项目开发中无法回避的问题:前端和后端如何合作和并行工作?...

    项目开发中无法回避的问题:前端和后端如何合作和并行工作? 前端,后端要想非常愉快的合作开发和集成,那最开始第1步就是要定义一套共用的数据模型接口.这一步是所有工作可以顺利进行的前提. 数据模型接口之后 ...

  6. ssh项目同时使用mysql跟sqlserver数据库_MSSQL_如何把sqlserver数据迁移到mysql数据库及需要注意事项,在项目开发中,有时由于项目 - phpStudy...

    如何把sqlserver数据迁移到mysql数据库及需要注意事项 在项目开发中,有时由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Serve ...

  7. IntelliJ IDEA 项目开发中各个目录的关系

    项目根目录(Project Root):本地硬盘中存放项目内容的根目录 项目名称(Project Name):IDEA 保存的项目名称,默认和项目根目录的名称相同,可以修改.有啥作用?通过 IDEA ...

  8. 项目开发中发布更新文档备注

    项目开发中 经常会遇到 某一个团队成员更新了,配置文件但是没有及时沟通导致项目发布后出现异常的情况. 这时就需要一个项目更新发布的规范说明文件,比如每次更新更改了哪些,进行文档备注. 更新的脚本文件也 ...

  9. Vue项目开发中的点滴积累系列文章

    题记 -- 严于律己,精于行动,点滴积累,着眼未来,你也许不负青春 Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架 本文章 记录从基础入门到实际项目开发中的点点 ...

最新文章

  1. 【怎样写代码】复杂对象的组装与创建 -- 建造者模式(四):扩展案例
  2. Scrum看板工具Leangoo脑图实现影响地图
  3. CSDN 数学公式居中
  4. Linux下编译运行C程序
  5. 原来搞单片机也可以面向对象
  6. linux 目录结构+常用命令+压缩命令+vim使用+及一些基础知识(非常好)
  7. 爬虫-请求头处理模块
  8. 九连环_儿子的玩具—九连环
  9. 在Word中如何实现后退?
  10. 所谓周末,就是在家好好做饭、好好睡觉、好好玩游戏
  11. 结队编程思路及感悟(python、tkinter、mysql、腾讯云短信等)
  12. 通过代码下载全国范围详细区县行政区Shp数据
  13. spring data jpa 使用@Query 动态参数查询案例分析
  14. html中表格table冻结行和列
  15. 谷歌tts android手机自带引擎,自动下载android TTS引擎
  16. Allegro模块布局和布局复用
  17. mysql中对数据的去重
  18. 【web安全学习篇2】kali基本命令
  19. HTML5 视频 Video
  20. 开源的13个Spring Boot 优秀学习项目

热门文章

  1. mysql5.7的资源限制策略_MySQL-5.7密码策略及用户资源限制
  2. php mysql读取数据_PHP MySQL 读取数据
  3. 怎么安装jdk和java_如何安装JAVA JDK?
  4. XML--XML从入门到精通 Part 1 认识XML
  5. 图论--边双连通V-DCC缩点
  6. LeetCode Hot100 ---- 排序专题
  7. [深度学习] 自然语言处理--- 基于Keras Bert使用(下)
  8. PADS 中的 PIN TYPE 说明
  9. Windows7上安装TensorFlow——基于Docker镜像
  10. 第六章 统计量及其抽样分布