后端项目开发规范

后端项目开发规范_第1张图片

概述

最近接手的项目、带领的团队人员越来越多,为了保证项目可预期上线,需要有一套方案统筹所有人的意识,因此专门编写此文档,针对项目初期、开发中、上线后做出相关的规范。

新项目开始的准备工作

  1. 安装基础 packages, 提高开发效率;
  2. 创建 Migration 和 Seeder, 统一所有开发者的本地环境;
  3. 编写环境部署文档, 方便后来人加入开发;
  4. 使用项目所属的 官方账号 注册第三方服务;
  5. 项目开始前, 再多花一天时间寻找有没有可以加速开发的 package 包, 提高开发效率.

保持服务器稳定性

开发阶段, 服务器使用最小资源配置, 不要使用平台提供的各种 IAAS 服务。上线后, 要根据实际情况扩展服务器性能, 如增加负载均衡, MYSQL 主从,并且还要完善以下工作:

  1. 添加服务器监控 (Bugsnag, 监控宝,sentry);
  2. 备份数据库, 并能快速的回滚到某个备份阶段;
  3. 服务器做好镜像, 能快速回滚;
  4. 做好负载均衡, 增加服务器的负载能力;

开发原则

服务器代码开发需要遵循一个原则 -- KISS (Keep It Sample And Stupid)

  1. 不要使用 Repository 设计模式, 减少代码的复杂度;
  2. Route 和 View 必须遵循 Restful 设计规范;
  3. HTML 代码不要使用 PHP 生成, 减少前端开发人员工作量;
  4. 统计代码要直接写在页面里, 不要通过读取数据库生成, 减少前端开发人员工作量;
  5. 在本地开发环境, 默认 id 为 1 的用户为管理员账号, 并且无需账号密码即可登录, 减少调试工作;

生产环境服务器部署原则

  1. 必须使用 Ubuntu 16.06 LTS 版本,并使用Ubuntu 14/16 下的 Laravel LNMP 线上环境自动部署脚本安装。
  2. 统一 alias,运行 vi ~/.bashrc 命令,配置以下 alias
alias cdproduction='cd {生产环境地址}'
alias cdstaging='cd {测试环境地址}'
        
#例如
alias cdproduction='cd /var/www/redbang.cn/production'
alias cdstaging='cd /var/www/redbang.cn/staging'

上线之前必须检查的内容

  1. 产品是否能够正常安装、注册、使用?
  2. 使用的第三方服务的账号或者 API key 是否已经切换到生产环境?
  3. 错误异常报警和监控系统是否添加?
  4. 测试数据是否需要移除,如果需要的话是否已经清除完毕?
  5. 上线的时间点和方式是否已确认?
  6. 确认工程师的时间安排?(保障线上 bug 的及时修复)
  7. 线上环境是否已准备好?
  8. 提交到应用市场的申请资料是否齐全?
  9. 数据库是否已经做好备份?

你可能感兴趣的:(后端项目开发规范)