开发流程
WHY
在团队合作项目时每个阶段都会遇到问题,因此需要完整的开发流程
瀑布模型
慢 低效 --》 敏捷开发
敏捷开发
基于敏捷开发的管理框架
决策等都需要大家一起进行
教练带领大家执行任务 掌握进度(其他成员也需要参与讨论)
产品负责人负责产品方向 与客户进行沟通
敏捷发布火车 可以看到日常迭代的过程
WHTA
需求阶段
浪费时间讨论不应该存在的问题
根据重要紧急程度来确定先做什么
开发阶段
原生云上的开发
容器化
传统机器使用的时候需要找运维人员进行申请,然后才能部署应用 涉及到很多等待的时间
云原生 所有的容器共享一个操作系统 需要理解底层原理
微服务
单体架构:将所有的模块都放到一起,想要对其中一个模块进行更新的时候会取出所有的模块 如左边的图,修改代码可能会影响整个
云原生开发环境
不需要每个人都配置环境
团队的分支策略
不同的团队有不同的策略
代码规范
魔数和魔字符串就是指在代码中出现但没有解释的数字常量或字符串,又称魔法值。
所谓魔数和魔字符串就是在代码中直接使用某一个数字或者字符串,而不是常量。
public int getSalary(String title, int grade) {
if ("Programmer".equals(title))
return grade * 500 + 700;
else if ("Tester".equals(title))
return grade * 500 + 800;
else if ("Analyst".equals(title))
return grade * 800 + 1000;
}
// "Programmer","Tester"和"Analyst"是所谓的魔字符串(Magic String),而500, 700,800和1000就是所谓的魔数(Magic Number)了
测试阶段
发布阶段
发布模式
运维阶段
HOW
流程优化
质量-效率权衡
需要进行权衡
同时保证质量和效率
dev到ops 开发到运维形成闭环
效率竖井问题
全流程自动化
解决效率竖井问题