一、day01

1、准备工作条件

1、聊天工具

  1. 企业微信,钉钉。。。
  2. 邮箱

2、搭建开发环境

  1. jdkmavenidea,数据库,nosql,。。。。
  2. 不能随便安装(得咨询)

3、了解代码管理

  1. 自建gitlab,使用云平台(giteegithubcoding。。。)
  2. 账号(权限)
  3. 拉代码:
  4. 注意代码的保密

4、运行项目

  1. 数据库不是本地(测试环境)
  2. 运行失败?请教同事

5、了解项目(需求)

  1. 找产品经理要需求文档
  2. 找项目负责人
  3. 自建梳理产品文档
  4. 步骤:
  5. what
  6. why
  7. how
  8. who
  9. 领域词库
  10. 主流程(粗略)->业务流程
  11. 原型图(可能没有)

6、理解代码

  1. 项目结构(架构)
  2. 模块
  3. 与其他系统的关系
  4. 数据库
  5. 关系型数据库
  6. 数据表的关系
  7. nosql
  8. 中间件
  9. 不用纠结于细节

2、代码仓库

3、了解产品需求

4、运行项目

5、架构分析与技术研究

二、day02

1、Bug分析

1、复现

  1. 什么角色做什么操作

2、定位

  1. 前端:
  2. 查看请求
  3. 地址
  4. 方法
  5. 负载
  6. 后端:
  7. 拦截器/过滤器
  8. controller
  9. 有没有接收参数
  10. service
  11. 业务逻辑
  12. dao
  13. sql是否正确

3、制定解决方案

  1. 技术类:
  2. 技术自己决定
  3. 非技术类:
  4. 产品经理/项目负责人

4、修复bug

  1. 分类:
  2. 紧急
  3. 创建hotfix分支
  4. 严重
  5. 一般
  6. 改完后要:自测
  7. 工具:postman

5、越改越多bug

  1. 确定修改影响的范围
  2. 重复的自测

2、Bug修复

3、代码优化

效率:

  1. 多次查询
  2. 异步并发执行

注意事项:

  1. 查收副作用

方法:

  1. 空间换时间(缓存,提前加载)
  2. 并发执行
  3. 减少查询次数
  4. 增强代码的可读性
  5. 合理应用设计模式
  6. 尽可能遵循通用规范

4、代码提交

git commit规范

  1. feat
  2. fix
  3. perf
  4. refactor

格式:(type)(scope): short description

三、day03

1、按接口开发

1、理解需求

  1. 梳理业务逻辑

2、看接口文档

  1. 需求
  2. 请求url
  3. 请求方法
  4. 请求参数
  5. 返回结果

3、涉及到的数据库

  1. 梳理表关系
  2. 编写sql时:拿到工具中验证

4、coding

  1. 代码正确性
  2. 逻辑严密性
  3. 格式符合规范
  4. 换行
  5. 命名
  6. 方法代码行数(职责单一)

5、自测

  1. postman
  2. 边界值

2、前后端联调

postman

3、并发优化代码

CompletableFuture

四、day04

1、理解新需求

步骤:

  1. 1、理解需求要做什么
  2. 业务流程(whowhatwhy
  3. 2、阅读产品原型
  4. 分析出页面的组成部分
  5. 交互(操作)
  6. 3、粗粒度寻找接口
  7. 4、编写接口文档
  8. 写给谁的?
  9. 前端/测试/其他开发(tl
  10. 5、设计表
  11. 表之间的关系
  12. 1:1
  13. 1n
  14. m:n
  15. 字段约束
  16. 公共字段
  17. 同一含义的字段用同一个名称
  18. 6coding

2、表设计

3、接口设计

4、分支创建(协作开发)

gitflow

5、代码合并(冲突解决)

6、项目部署

一般:运维

五、day05

1、技术调研

1、了解技术是什么,解决什么问题,有什么优缺点(技术方案对比)

2、知道什么使用(编写demo)

3、运用到项目

  1. 评估风险

2、技术应用

3、紧急修复

创建hotfix分支

六、day06

1、考题

mysql

业务

基础知识

项目相关

七、建议

1、不能理解需求

2、能理解需求,不能动手

学习思路然后动手练习

3、能理解需求,部分能完成

写的太少了,练习和复习

4、能理解需求,也能动手完成

加深知识的广度和深度

5、完全落后