public/技术规范/新兵作战指南(后端篇).md

7.0 KiB
Raw Blame History

新兵作战指南

武器准备ENV

JDK

目前公司JDK使用的是1.8版本的JDK。你可以选择使用oracleJDK也可以使用其他OpenJDKadoptium

IDE

目前公司不限制你使用什么IDE。你可以选择使用EclipseIDEA甚至是VSCODE。但要注意的是Eclipse默认情况下创建的文本是GBK格式IDEA默认使用的是UTF-8。在开发前需要注意修改IDE的默认编码避免发生文件需要重新转换编码的尴尬。

在IDE的选用上后端编码推荐使用IntelliJ IDEA前端编码推荐使用VSCode。

VCS

目前公司已全面使用本平台Gitea进行版本控制。因此请读者准备好以下两件套

Maven

参考公司仓库配置

配件准备plugin

开发工具 插件 插件说明 必要性
IntelliJ IDEA lombok 用于生成实体gettersetter等方法的插件。IDEA直接在插件市场即可安装。 必要
IntelliJ IDEA checkstyle 公司2021年中旬后开始开始限制代码规范风格。配置参考 checkstyle.xml 文件。 必要
IntelliJ IDEA MyBatisX 这是IDEA下的插件。公司的项目都是用了Mybatis方便开发。 推荐
IntelliJ IDEA RestfulTool 一个spring mvc下的快速接口查找插件。 推荐
IntelliJ IDEA Maven Helper maven助手。 推荐
IntelliJ IDEA Smart Tomcat IDEA社区版运行tomcat必装。 推荐
IntelliJ IDEA SequenceDiagram 代码调用时序图生成器,方便快速查看方法的所有调用链路。 推荐

军规(规范)

规范类型 规范内容
后端开发规范 Java后端开发规范
注释规范 Java文档注释规范倡议
文档规范 Markdown文档排版规范
数据库规范 数据库设计规范
其它技术规范 其它技术规范合集

行军(经验分享)

上战场(部署)

全量打包部署(测试环境)

切换环境配置

打包前需确认环境配置(如数据源,外部接口)是否正确。切勿发生将测试环境接入正式环境,导致测试环境向正式环境写数据的情况出现。
SpringBoot项目一般直接修改yml的引用即可SpringBoot配置

如果配置为引用配置,这通常是指服务器已配置了环境变量。当项目启动时,直接取环境变量进行注入判断,因此无需修改,直接打包即可 SpringBoot配置1

打包

打包前应先清理maven的class缓存。有时候因为调试过程中的一些编译报错等奇奇怪怪的原因导致maven的class缓存内容不是最新的class。为避免将错误的class文件打包应先对目录进行clean。 打包
命令行:mvn clean | mvn package -Dmaven.test.skip=true

备份

部署前,需将服务器上的现有运行包复制到备份存储的文件夹。以便新部署的项目程序有问题的时候回滚操作。

部署

部署情况有两种: ①部署目录就在tomcatwebapp目录下

第二步打包后的war包改名至正确的上下文路径名然后将其放入webapp目录下重启tomcat即可。

②部署目录被配置到其他目录

将war包进行事先解压将解压内容替换到配置的部署目录中。

增量打包部署(生产环境)

所有生产环境 务必 要使用Increpack工具进行打包和部署实施。 youfool-increpack 增量打包部署介绍

军情报告(日报,周报)

日报

一般在入职后的第二周,项目经理就开始要求你写日报。日报通过企业微信的工作台的汇报-日报功能进行每日工作的小结,以及拟定第二天的工作计划。

养成良好的工作习惯,从每天小结开始。

周报

入职后第二周或第三周开始,项目经理就开始要求你每周周五早上写周报。周报一般通过企业邮箱发送到自己的项目经理手上。这个具体要看你的项目经理的安排。

常见问题Q&A

Q1如何快速地去熟悉自己所要负责的项目。

A1在接到项目后我们应首先去了解项目背景和项目的主干业务流程。根据自己的社会阅历去对整体项目进行一个初步的完整业务推测模型。推测完后再去阅读其他相关的项目文档和源码去印证修改自己的业务模型。

Q2阅读源码过程中遇到自己未曾涉足过的技术点怎么办

A2首先我们要确定这个技术点是否会对我们的业务开发和修改有所关联从而确定我们是否真的需要关注这个技术点相关的接口或代码段。如果不需要我们就只需记下这段的位置将需求完成后再反过来去学习提升自己。如果需要去关注这个技术点首先到企业微信上找对应的人问同时提取技术点的关键词到百度中找该技术点的资料。如果在该问题在2小时内未能解决应及时在项目组群内问请求协助切勿藏着问题。

Q3如何快速找到我要修改的别人已经开发的功能点的代码位置。

A3运行项目在浏览器中的network找到对应业务的相关接口。通过RestfulTool插件(快捷键ctrl+alt+/搜索该接口接口找到对应的diamante位置。 现在RestfulTool的开源仓库已归档不再更新如果你用最新版本的IDEA应该会报错。如果报错请改用RestfulToolkit-fix(快捷键ctrl+\ RestfulTool