Java开发中的工作流程和步骤——笔记

【java】Java项目从开发到部署生产完整流程梳理 从事Java开发许久,从最初学习的JDK环境变量开始,到如今开发部署发布,已经逐渐形成了自己的一套体系,当然,其中也不少学习了网上各种资料总结,接下来将在本文对Java项目开发到部署发布整个流程进行归纳梳理。 阅读详情

1 开发文档获取

开发之前,都会有开发文档、产品原型说明之类的辅助资料,就算是在细小简单的功能,基本上都会有相应的描述。如果全是口头描诉的功能,那就?跑?

2 需求理解及准备工作

在阅读需求文档的时候,需要仔细阅读,并且阅读的时候,弄清楚这个功能的定位。特别是对于写代码的人来说,要知道这个功能开放式属于哪个功能模块里面的,至少你的代码写在哪里,这个你还是要弄清楚的。

不论是shi山雕花,还是堆砌新的shi山,功能前后关系都要捋清楚,这个功能是新功能,还是扩展功能,这个功能跟其他模块相关联的代码要阅读,有关的数据表要提前捋一下。如果弄不清楚前后关系,那么开发的功能很容易偏离实际的功能要求。

如果通过看代码,看文档,看需求文档,有些地方还不能理解的,也不用着急,因为后面还会有会议讨论,这些需要做的就是尽力去理解,对于一知半解的地方可以去询问其他同事,如果还是有疑问,记录下来,开会的时候提问即可。这样的情况我也遇到过,当时有点慌,但是开完会,我就理解了。

3 会议记录

会议还是比较重要的,如果第一次开会一直蒙圈,那就要做功课复习了。

会议上需要明确需求功能点,开发功能点,如果遇到棘手的地方要及时提问,这时候还有不理解的,一定要在会议上提问清楚,如果弄不清楚,开发起来会很痛苦。这时候需求的提前理解,相关的代码阅读,数据库表的提前了解,在这里显得尤为重要,不然你很可能不知道会议在聊啥。

会议上捕抓到的重要信息,大概记录下来,我的建议是开会之前带个本子:好记性不如烂笔头

注意:到了这一步,决定你是否能和产品同事进行有效交流

4 接口定义

会议开完,一般都是和前端需要定义好接口数据,入参和返回值,固定的接口结构,避免定义好的结构在后期进行大改,不然很容易阻碍项目的开发进度。
作为一个后端,一个原则:尽量宠前端,后端能做的事情尽量在后端去做,秉承着能不让前端修改就不让前端修改,你把前端宠得像个小娇妻,你们的对接工作不就轻松愉快了嘛。一个功能的开发万万不可离开前端,否则就是一个人玩过家家了,有修改的地方,及时通知到位,别到最后,直接甩文档给到前端,这无疑会增加双方的工作量。
如果还没有专门的接口工具类,所以和前端整理好接口结构之后,最好自己整理一遍,这样开发的过程中才不至于模凌两可。

注意:很多后端后面和前端同事闹得不愉快,就是因为这里的基础没打好。

5 代码开发

代码开发之前,需要明确自己的代码是基于哪个分支去开发的,怎么明确?问呗!大家都会问,那我就把目前的开发分支信息给截图一下。千万别盲目参考文档,有些文档写完之后就从不更新了。所以你需要去和同事或者领导多多交流。尽量弄清楚每个分支的作用,这样有助于我们后面的工作进行。
功能开发完成,需要在本地调试一下,大多数时候我都是用 postman 请求一遍自己的接口,看看入参和返回值是否一样。一般我们调试,都是把免登陆打开,专注看接口功能就行。免登陆只需要在接口上加上:@NoLogin 注解即可 。至于单元测试,每个人根据自己的情况来定,这个不好言语。

6 代码提交&环境构建&前后端联调

代码开发完成,需要提交到test分支,与前端进行联调(或者在本地联调也可以)
代码提交后需要借助 jenkins 进行环境构建(这一步每个公司不一样了)

7 代码审核&发布文档编写

发布完成,就等前端联调完成即可,工作完成之后需要书写发布计划文档以及找人帮 review 代码。

到这里,作为后端开发的主要工作就差不多完成了,剩下的是不断测试,修改bug,发布,后面的步骤每个公司具体执行都有差异。最后就是提交代码,合并到master,但是我们也不一定有合并权限,根据实际情况去处理。到这里,基本上就完成一个功能的开发了。
JAVA项目开发完成后期修改BUG和测试的工作流程 JAVA项目开发完成后期修改BUG和测试的工作流程 功能宏观修改BUG并不断测试: 测试步骤: 0.通测一遍,出现问题记录 1.已有问题是还否解决 2.第二轮测,是否影响其它本来没有问题的功能。 不断反复重复上面的步骤,至到,从前台页面功能宏观上正确。 页面宏观功能实现后,即进行页面内部细节功能的测试: 测试要求: 1、字段长度,非空,下拉框(是否需要,显 阅读详情

相关推荐

在JBPM中创建新的工作流程定义涉及以下几个步骤

根据BPMN规范,配置每个活动和它们之间的关系,如任务分配给特定用户、条件判断或信号传递。

[Blog][Domain] programb.blog.youkuaiyun.com 2189

Java软件开发流程

作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工、职责, 并了解软件开发中涉及到的三种软件环境。

weixin_48548208的博客 6036

Java项目的完整开发流程

一旦系统设计和数据库设计完成,就可以开始编写Java代码并实现系统的各个模块和功能。通过这篇文章,我们详细介绍了Java项目的完整开发流程,包括项目规划和需求分析、系统设计与架构、数据库设计与实现、编码实现与单元测试、集成测试与调试,以及部署与维护等环节。希望这些步骤和示例代码能够帮助您更好地理解和应用Java项目开发的基本原理和方法应用Java项目开发的基本原理和方法。这个阶段的目标是明确项目的目标、功能和需求。在这篇文章中,我们将为您呈现开发Java项目的完整流程,从项目规划和设计到代码实现和测试。

ByteWhisper的博客 987

Java项目从开发到部署生产完整流程梳理

从事Java开发许久,从最初学习的JDK环境变量开始,到如今开发部署发布,已经逐渐形成了自己的一套体系,当然,其中也不少学习了网上各种资料总结,接下来将在本文对Java项目开发到部署发布整个流程进行归纳梳理,如果有错误的地方还希望各位看官即时指正,手动感谢!!! 目录总览,各位看官可按需翻阅开发环境项目搭建Maven创建项目SpringBoot基础配置项目打包打包jar打包war服务器部署winservercentosNginx相关配置端口转发HTTPS静态Web静态资源访问 开发环境 关于开发环境,在之前

暴走的怪兽君 1万+

JavaWeb开发入门:从前端到后端的完整流程解析

JavaWeb是指使用Java技术栈开发基于浏览器访问的Web应用程序。它通过Servlet和JSP技术实现后端逻辑处理,并结合HTML、CSS和JavaScript完成前端交互。JavaWeb的核心是Servlet,它运行在服务器端,接收用户请求并返回响应。而Tomcat作为JavaWeb应用的服务器,提供了运行Java网站的环境。

qq_73704268的博客 3336

Java 开发新手在 Eclipse 中创建 Java 类的步骤

本文旨在为Java编程初学者提供在Eclipse集成开发环境(IDE)中创建Java类的完整指导。内容涵盖从环境准备到实际编码的全过程,特别适合没有任何Eclipse使用经验的Java新手。文章首先介绍Eclipse的基本概念和安装,然后详细讲解创建Java项目的步骤,接着是创建Java类的具体操作,最后是代码编写和运行的基本流程。Eclipse:一个开源的集成开发环境(IDE),主要用于Java开发Java项目:Eclipse中组织Java源代码和相关资源的容器Java类。

AI开发架构师 1432

MyBatis 知识点回顾 工作流程原理、核心对象、配置文件、返回MySql主键ID -《Java EE 企业级应用开发教程》读书笔记

前言 主要内容如下: 内容来自于《Java EE 企业级应用开发教程》这本书的翻读笔记,内容相对简单,用于基础知识的复习巩固。 MyBatis的工作流程 MyBatis框架在操作数据库时,大体经过了8个步骤。下面就对图6-4中的每一步流程进行详细讲解,具体如下。 (1)读取MyBatis配置文件mybatis-config.xml。mybatis-config.xml作为MyBatis的全局配...

wangshihuidev的博客 843

java实现工作流程

想知道JAVA应用在实际工程中,它是怎样实现自己的工作流程的吗?这套近33页的资料将会告诉你答案,本人觉得还不错,现在发给大家共享!

JAVA WEB开发技术随堂笔记 Ajax技术

🌴 2022.3.29 早八 文章目录3.7 Ajax技术3.7.1 什么是Ajax3.7.2 Ajax的开发模式3.7.3 Ajax的优点3.8 传统Ajax工作流程3.8.1 发送请求3.8.2 处理服务器响应 3.7 Ajax技术 3.7.1 什么是Ajax AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML) AJAX 不是新的编程语言,而是一种使用现有标准的新方法 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务

张时贰的博客 2018

麒麟V10服务器多硬盘安装与分区实战:告别自动分区,手动分配/boot、swap和/根目录

本文详细介绍了麒麟V10服务器在多硬盘环境下的手动分区策略,包括/boot、swap和/根目录的优化分配方案。通过SSD与HDD混合存储架构的合理规划,提升系统性能和运维效率,适用于企业级定制化系统部署需求。

weixin_26976635的博客 407

Windows下构建ImGui.Net

工具 Visual Studio 2017 操作 下载项目 git clone https://github.com/mellinoe/ImGui.NET.git 编译 右键以下两个项目并调试: ImGui.NET.SampleProgram ImGui.NET.SampleProgram.XNA Error fix 中间遇到一些问题: SDK版本不对 去微软官网下载安装对应版本 由于设置了代理被远程服务器拒绝连接 关闭代理(也许在环境变量中) nuget源无对应资源,404 NOT FOUN

jojozym的博客 1488

Java开发中的工作流程和步骤

随着环境的变迁,大家总会更换工作,有裁员的,有跳槽的,除了进进出出的老人,还有源源不断入坑的新人。很多人入职之后还不知道怎么快速适应工作,对我而言,除去寥寥可数的同事感情,对我而言,更换工作更像是换个环境办公。今天记录一下每次功能开发的工作流程,当然这个流程并不具有代表性,特别是与"大公司"完善的制度相比,这只能算是给新人指路而已。每个公司的需求开发步骤都不相同,让我们一起完善这个开发步骤,给后来者指明方向。注:步骤是死的,人是活的,不清楚的地方及时提问,毕竟向同事提问是不收费的。

不定时分享最优质的网络技术与教程,满满的干货。 789

手把手教你在Keil/IAR中移植SEGGER_RTT组件(避坑指南+性能对比)

本文详细介绍了在Keil/IAR开发环境中移植SEGGER RTT调试组件的完整流程与优化技巧。通过对比传统串口调试,SEGGER RTT凭借零硬件占用、高速传输和双向交互等优势,显著提升嵌入式开发效率。文章包含配置步骤、性能调优方案及常见问题解决方案,是嵌入式开发者必备的实用指南。

y7z8a的博客 243

团队开发中的 Git 工作流程

本文介绍企业内部开发时的 Git 工作流程。虽然 Git 的命令和选项数量不少,但是在工作中用到的命令和操作其实不多。所以在这里进行总结,相信对 Git 小白会有所帮助。

trl_jdi的博客 2777

report_delay_calculation/check_timing/report_annotated_parasitics/report_analysis_coverge

如何debug 一颗cell 或一段net 的delay, 常用的办法是用report_delay_calculation 报这颗cell 或这段net, 会得到形式如下的report, 从该report 中可以得到: 表头需要特别关注的是command, 确定report 的对象及加的option; From/To pin: cell 的input pin 和...

diedai7174的博客 1798

遥感图像融合实战:5分钟搞懂全色与多光谱图像如何提升分辨率(附Python代码)

本文通过实战案例,详细解析了如何利用全色锐化技术融合全色与多光谱遥感图像,以提升图像分辨率。文章深入浅出地介绍了核心概念、环境配置、经典GS融合算法的Python代码实现,并对比了不同算法的优劣,最后提供了效果评估方法与实战陷阱分析,帮助读者快速掌握遥感图像融合的关键技术。

weixin_29041195的博客 394

java程序开发步骤

程序开发步骤1. Java程序开发步骤1.1 编写程序2. 编译程序3. 运行程序 程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。在日常生活中,可以将程序看作一系列动作的执行过程的描述。 1. Java程序开发步骤 1.1 编写程序 首先在一个盘下比如c盘,创建一个HelloWorld.txt文本文件再将文件后缀修改则变为HelloWorld.java,里面写着如下代码: /** 文档注释(/** */) public:关键字,公共的(公有的) class:关键字,类别(分

qq_39568387的博客 7268

高数 | 【极限与等价无穷小】两个重要极限 & 经典错误 & 什么情况下求极限可以直接带入

一. 第一个重要极限 二. 第二个重要极限 三. 导数定义式 全文见【高等数学】两个重要的极限 - 知乎

"You are worthy! You can do it!" 6万+

【Java开发笔记】

(绘图工具drawio) 1,日期处理 2,网络编程 三次握手:客户端向服务器发送SYN同步数据包,包含自身初始序列号 ISN; 服务器收到SYN数据包后,发送SYN-ACK同步确认数据包,包含 服务器初始序列号核对客户端ISN的确认号ACK; 客户端收到SYN-ACK数据包后,发送ACK确认数据包,包含对 度武器ISN的确认号ACK。 四次挥手:客户端发送FIN数据包,表示希望关闭连接 服务器收到后发送ACK确认数据包,表示收到并同意关闭连接 服务器完成数据传输,再次发送FIN数据

muran202236的博客 855

第二十七届华东杯数学建模A 题 跳台滑雪问题 完整思路模型及代码

考虑到滑行过程中的空气阻力和摩擦力对速度的影响,我们引入了不同姿态下运动员迎风面积和空气阻力系数的变化,利用牛顿第二定律建立加速度表达式,并通过数值模拟比较常见姿态下的终端速度。针对问题二,我们构建了二维空中飞行动力学模型,结合起跳速度、身体迎角、滑雪板倾角等因素,模拟运动员在空中飞行的轨迹与姿态变化,采用欧拉法对运动过程进行仿真,优化飞行路径和稳定性。仿真结果表明,运动员应在起跳后保持滑雪板与身体成“V”字形打开、重心略后倾的姿态,以增强升力、延长飞行距离并提高姿态得分。,并模拟出跳跃的轨迹和最终得分。

lichensun的博客 3209

【WorkBuddy专栏25】如何选择大模型——积分消耗、用途场景、选型决策全指南

【WorkBuddy专栏25】如何选择大模型——积分消耗、用途场景、选型决策全指南

AI人人懂 940

Java JFrame可视化开发的步骤

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 JFrame可以做出类似于QQ登录功能的窗体,通过JFrame可以利用Java代码实现窗体功能,一般用于CS项目的C(客户端)的开发; 一、JFrame是什么? 利用JFrame可以自己写java代码,也可以通过在eclipse中安装windowbuilder插件,这样可以利用windowbuilder插件.

wzw_wwl的博客 9008

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java学习笔记——02Java程序开发的步骤

C语言几乎无法将编译器得到的机器码还原为源文件。对于Java,由于字节码文件不是最终的机器码,需要当前平台上的解释器再解释成当地的机器码来执行,因此就给反编译留下了空间。16.输入javac HelloWorld.java命令,键盘按下回车键。,比如word编辑器。将编写好多源文件保存起来,源文件扩展名为。17.输入java HelloWorld命令,键盘按下回车键。,比如记事本来编写源文件。空白处,鼠标右键单击,弹出。源文件,得到字节码文件。,键盘按下回车键,弹出。中,鼠标移动并悬停在。

落.差.的博客 1016

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

开发Java步骤

开发Java的步骤,与jdk下载、配置环境变量

qq_45560181的博客 3335

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

开发环境和工作流程

开发环境和工作流程 优快云发布时间:2018年03月15日 15:12:58 第四次集体讨论,主要统一配置了开发环境,以及针对Git方面明确了此后的工作流程。 关于环境配置 除组长外,所有后端人员人使用java语言,JDK为java1.8,IDE...

a13141459436的博客 102

Spring MVC的工作流程, DispatcherServlet 的工作流程

Spring MVC 是一种基于Java的模型-视图-控制器(MVC)Web框架,它通过清晰的角色划分简化了Web应用开发。下面是Spring MVC的工作流程以及的具体工作流程。

Rubypyrrha的博客 2182
上一篇: 笔记-事件的捕获和冒泡
下一篇: 程序员的最后一道防线到底是什么?——总结
大白砌墙
博客等级 码龄11年 1296粉丝 144原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白砌墙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值