后端入门-开发流程 | 青训营笔记

122 阅读2分钟

开发流程

WHY

image-20230525200622242.png

在团队合作项目时每个阶段都会遇到问题,因此需要完整的开发流程

瀑布模型

image-20230525200721534.png

慢 低效 --》 敏捷开发

敏捷开发

image-20230525201051541.png

image-20230525205930777.png

基于敏捷开发的管理框架

image-20230525213102631.png

image-20230525210259338.png

决策等都需要大家一起进行

教练带领大家执行任务 掌握进度(其他成员也需要参与讨论)

产品负责人负责产品方向 与客户进行沟通

敏捷发布火车 可以看到日常迭代的过程

image-20230525213410903.png

WHTA

需求阶段

浪费时间讨论不应该存在的问题

image-20230526104952267.png

image-20230526105010185.png

根据重要紧急程度来确定先做什么

开发阶段

原生云上的开发

容器化

image-20230526105326433.png

传统机器使用的时候需要找运维人员进行申请,然后才能部署应用 涉及到很多等待的时间

云原生 所有的容器共享一个操作系统 需要理解底层原理

微服务

image-20230526105702595.png

单体架构:将所有的模块都放到一起,想要对其中一个模块进行更新的时候会取出所有的模块 如左边的图,修改代码可能会影响整个

云原生开发环境

不需要每个人都配置环境

image-20230526110302473.png

团队的分支策略

image-20230526110737342.png

不同的团队有不同的策略

代码规范

image-20230526110847443.png

魔数和魔字符串就是指在代码中出现但没有解释的数字常量或字符串,又称魔法值。

所谓魔数和魔字符串就是在代码中直接使用某一个数字或者字符串,而不是常量。

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)了

测试阶段

image-20230526111355512.png

image-20230526111438963.png

发布阶段

image-20230526111636141.png

发布模式

image-20230526111709739.png

image-20230526111806099.png

image-20230526111820757.png

image-20230526111854343.png

image-20230526111854343.png

image-20230526111935247.png

运维阶段

image-20230526112009347.png

HOW

流程优化

质量-效率权衡

image-20230525214153825.png

需要进行权衡

image-20230525214211568.png

同时保证质量和效率

image-20230525214240835.png

dev到ops 开发到运维形成闭环

效率竖井问题

image-20230525214821110.png

全流程自动化

解决效率竖井问题

image-20230525215001989.png