20 年 Java 工程师的经验分享:Spring Boot + MVC + Vue3 项目全流程开发指南
赠书啦,欢迎大家在评论区聊聊「关于 Java 开发的故事」,畅所欲言
我们将在评论区随机选出 3 名 OSCer,赠送《Spring Boot + MVC + Vue3 项目全流程开发指南》一本
活动截止时间:3 月 5 日 18:00
编码规范
1.Java开发规范
Java开发规范主要是为了保证代码的质量和可读性,并提高团队协作的效率,具体做法如下。
1) 使用驼峰式命名法命名Java类、方法和变量。
2) 确保代码格式一致,使用制表符或空格字符进行缩进,其中缩进使用4个空格字符。
3) 不能省略大括号,避免出现错误的复合语句。
4) 避免使用长行代码,在必要时使用换行符。
5) 有效地运用空格来分隔代码。
6) 每个方法只处理一项任务。
7) 不要使用过时的语言特性。
8) 使用final关键字来定义不允许修改的变量。
2.版权规范
版权规范主要是为了保证项目的知识产权,防止代码被恶意复制或盗用,具体做法如下。
1) 在项目中使用合适的授权许可证。
2) 对使用的开源代码进行审查。
3) 声明代码版权信息。
4) 声明禁止将代码用于商业用途。
3.命名规范
命名规范主要是为了增加代码的可读性,降低维护成本,具体做法如下。
1) Java类名采用大驼峰式命名法,命名规则为:名称(如业务名或功能名) + 动词 +层级后缀。例如:在控制层管理员管理模块,那么它的类名是AdminManageController,其中Admin是业务名、Manage是动词、Controller控制层后缀。
2) Java方法名采用小驼峰式命名法,命名规则为:动词 + 名称(如业务名或功能名) + 业务数据结构名(可选),例如:获取管理员列表方法,那么它的方法名是getAdminList,其中get是动词、Admin是业务名、List是业务数据结构名。
3) Java变量名采用小驼峰式命名法。
4) 常量名采用大写字母,多个单词使用下划线进行分隔。
5) 所有名称都尽量采用实际业务名或功能名。
4.注释规范
注释规范主要是为了增加代码的可读性和可维护性,具体做法如下。
1) 对类和方法进行注释,包括功能、输入参数和输出值等。
2) 对复杂代码片段进行注释。
3) 注释应精简、清晰。
4) 注释应该与代码保持一致。
5) 不要编写过多或者毫无意义的注释。
6) 在代码中使用符合标准的单行注释和多行注释。
7) 在代码变动时,更新注释的内容。
版本控制
版本控制(Version Control)是一种管理和控制代码或文档的历史版本和变更记录的工具。它可以帮助开发团队在开发过程中管理代码的变更、跟踪项目的历史记录、协作开发,以及解决代码冲突等问题。
1.版本
版本是指软件的不同发布状态。每个版本都代表着软件在某个时间点的特定状态,包括功能、修复和改进。这里的软件是指一组文件或代码,那么软件版本是指一组文件或代码在某一时刻的状态,它记录了文件或代码的修改历史。
每个版本都会有一个编号,这个编号叫版本号。版本号是用来标识和区分不同软件版本的一组数字。通常包括主版本号、次版本号、修订号和构建号,有时也可以有其他标识。以下是一些常见的版本号定义规则。
1)主版本号:表示重大功能改变或架构变化,一般在大幅度重构或设计变更时增加。
2)次版本号:表示较大规模功能添加或修改,一般在添加新功能时增加。
3)修订号:表示小规模的修改或问题修复,一般在bug修复或小功能改进时增加。
4)构建号:表示每次编译生成的唯一标识符,每次构建都会增加。
版本号的定义规则可以根据具体项目和团队的需求进行定制。常见的规则包括“主.次.修订”格式(如1.0.0),也有日期格式(如2022-01-01)等。
版本号具有以下重要意义。
1)识别不同版本:通过不同的版本号,可以清楚地区分和识别不同软件发布状态,帮助用户选择合适的软件版本。
2)管理功能变更:通过对每个版本进行编号,可以追踪和管理软件中引入的新功能、修改和删除旧功能。
3)问题追踪与修复:通过对每个修订号进行编号,可以追踪和管理问题报告,并将问题与特定版本关联起来。
4)兼容性管理:通过比较不同软件版本之间的差异,可以帮助开发人员确保向后兼容性,并确保用户能够平滑升级到新版。
总之,版本和版本号在商业软件项目中起着至关重要的作用,它们能够帮助开发团队更好地管理、追踪和控制软件发布过程中的各种变化。
2.版本分支
版本分支是指在开发软件时,为了同时进行多个开发任务或者为了管理不同版本之间的差异而在主干代码基础上创建的一个独立的代码分支。
版本分支通常是从主干代码中某个时间点创建的,可以在分支上独立地进行开发、测试、修复问题等工作,而不影响主干代码。同时,版本分支也可以合并回主干代码中,将各个分支的修改内容整合在一起。
以下是一些常见的版本分支定义规则。
1)主干代码:通常是指软件的主要代码线,包含稳定的功能和修复过的问题。主干代码不允许直接修改和提交。
2)版本分支:通常是指从主干代码创建出来并用于独立开发或管理不同版本之间差异的独立代码分支。版本分支可以自由修改和提交。
3)特性分支:通常是指用于实现某个特定功能或任务而从版本分支上创建出来的独立代码分支。特性分支可以自由修改和提交。
4)发布标签:通常是指一个标记点,用于标记在特定时间点上,主干或者某个特定版本分支的打包发布。
版本分支具有以下重要意义。
1)同时进行多项开发任务:通过创建不同的版本分支,在不同的开发任务之间切换和管理,使得团队成员可以更高效地同时进行多项开发任务。
2)管理不同软件版本:通过将不同软件版本保存在各自的版本分支上,并合并回主干或其他相应发布时,在保证稳定性和可靠性的同时实现对各种需求变化及时响应。
3)保持发布历史记录:为每次发布的软件版本打标签,非常利于在以后追踪发布历史记录。
4)方便问题追踪与修复:通过对每个特性分支、修订号等进行编号,可以追踪和管理问题报告,并将问题与特定的功能、任务、发布相关联起来。
总之,版本分支是一种重要的软件管理机制,在软件开发过程中可以帮助团队更好地控制软件发布中的各种变化。正确使用版本分支能够有效提高团队协作效率,并确保项目的高质量、可靠。
3.版本合并
版本合并(Merge)是指将两个或多个不同的代码版本合并为一个新的版本。在软件开发过程中,版本合并是一个非常常见的操作,特别是在多人协作开发或者分支开发的情况下。
版本合并有以下一些执行规则和意义。
1) 版本合并必须基于一个共同的祖先版本进行的。即需要先找到两个或多个版本之间的共同祖先,然后将其分别与目标版本进行合并。
2) 版本合并时需要注意代码冲突。如果两个或多个版本中都对同一段代码进行了修改,则需要手动解决代码冲突。
3) 版本合并后必需进行测试和验证。合并后的代码可能会出现新的问题,需要对其进行测试和验证。
4) 版本合并可以使得不同分支之间的代码得以相互融合。这可以提高团队协作开发效率,避免重复工作。
5) 版本合并可以使得不同分支之间相互独立。这可以避免在修改某个功能时影响到其他功能。
6) 版本合并可以保留历史记录。每次合并都会生成一个新的版本,这样就能够保留历史记录,方便以后查看和追溯。
总之,版本合并是非常重要的操作,能够提高团队协作开发效率、避免重复工作、保留历史记录等。同时,在进行版本合并时需要注意遵守一些规则,以保证代码质量和稳定性。
4.版本冲突
版本冲突是指多人同时修改同一个文件的同一部分时会出现不同的版本。当试图将这些不同版本合并时,就会出现冲突。版本冲突是软件开发中非常常见的问题。
版本冲突有以下一些执行规则和注意事项。
1) 当多人修改同一个文件的同一部分时,会自动检测到冲突。
2) 版本冲突需要手动解决。
3) 解决版本冲突需要仔细分析和比较不同版本之间的差异,保留所有有用的修改,并将其合并为一个新的版本。
4) 解决版本冲突需要与其他开发人员协作进行代码审查、讨论、测试等操作。
5) 解决版本冲突可以提高代码质量和稳定性,避免代码错误和漏洞。
总之,在软件开发中,避免或解决版本冲突是非常重要的问题。只有通过合理协作、认真分析、细致比较等方式来解析这个问题,才能保证团队协作开发效率、提高代码质量和稳定性,并且确保软件项目成功完成。
5.中央式版本控制
中央式版本控制是一种常见的软件版本控制方式,也被称为集中式版本控制。
中央式版本控制通常使用客户端-服务器架构。开发者在本地使用客户端工具从中央服务器下载代码,进行开发和修改,再将修改后的代码上传到中央服务器。在上传之前,需要先从中央服务器上获取最新的代码,并进行合并和冲突解决。
现在广泛使用的软件产品是Subversion(SVN)。Subversion是一个流行的中央式版本控制系统,被广泛应用于软件开发和源码管理。它具有稳定性高、可靠性好、易于使用等特点。
虽然中央式版本控制在很长一段时间内是主流版本控制方式,但它也存在一些问题。例如,在分支管理、合并、离线工作等方面存在一些不便之处。因此,在当今软件开发领域也出现了另一种主流的版本控制方式——分布式版本控制系统(例如Git),其具有更加灵活、高效和便利等优点。
6.分布式版本控制
分布式版本控制是一种较新的版本控制方式,其与中央式版本控制的不同点在于,分布式版本控制将代码库完全复制到每个开发者的本地机器上,每个开发者都可以在本地创建、合并分支,并且在不需要连接到中央服务器的情况下进行代码比较和版本历史查看等操作。当然,在需要和其他开发者共享代码时,分布式版本控制系统也提供了一些便利的方式。
当一个开发者需要与其他开发者共享代码时,他可以将自己本地修改后的代码推送到其他人所在机器上,并将自己修改后的代码合并到他人机器上。因此,分布式版本控制系统可以让每个开发者都有完整的代码库备份,避免了单点故障。
Git是最流行和广泛使用的分布式版本控制系统之一,其拥有快速、高效、强大等优点,在大型团队协作和复杂项目管理方面表现出色。
综上所述,版本控制是软件开发中不可或缺的一部分。通过版本控制工具,团队成员可以更好地管理代码和文档,同时也可以提高开发效率和代码质量。本书项目使用Git进行版本控制。
以上内容节选自《Spring Boot + MVC + Vue3 项目全流程开发指南》
作者:花树峰
《Spring Boot + MVC + Vue3 项目全流程开发指南》
花树峰
具有20年以上软件开发经验,技术底蕴深厚、项目管理经验丰富。大学毕业后,历任Java程序员、高级软件开发师、产品经理、客户项目经理、技术经理、技术总监、创业公司合伙人等。精通Java、PHP、Python、Spring、Spring Boot、Spring MVC、MyBatis、Thymeleaf、MySQL、MongoDB等主流技术。曾在惠普、华数集团从事项目开发和产品经理工作,参与研发了“日本电信管理平台”(大型企业应用)、“华数互动电视平台”(大型视频互动平台)、“优猜”(社交类APP)、“木禾建站”(可快速建设在线商城的SaaS平台)等各种大型商业软件应用。
本书全面概述了软件项目开发的全流程,全书共13章,包括项目开发概述、开发规范、开发技术、需求分析、架构与目录结构设计、数据库表结构设计、详细功能设计、技术框架选型、初始化与底层搭建、业务代码开发、单元测试开发、性能测试和部署等内容。书中以实际项目为例,结合理论知识和实践操作,为读者提供了一条清晰、完整的项目开发学习路线。本书不仅详细介绍了各环节的具体操作和技巧,还强调了按照规范进行操作的重要性,以确保项目开发的标准化和高质量。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
3月8日妇女节,来一场职场姐妹茶话会
3月8日国际妇女节当天,OSC 直播栏目【开源漫谈】第19期将迎来一场特别直播——绽放她力量:跟五位女性聊聊职场!五位不同背景的职场人,从高校教授到技术专家,从产品经理到创业者,在妇女节这个特别的日子,用真实故事拆解偏见迷思,聊聊真实的职场成长。 📅 直播时间:3月8日(周六)20:00-21:30 📍 直播平台:“OSC 开源社区”视频号 🎤 嘉宾阵容: 祝欣荣,上海杉达学院副教授 郝立芳,深圳市科技传播促进会秘书长 黄紫妍,亨宝科技高级产品经理 彭雪梅,创业者、资深前端工程师 缪翎,PingCAP 首席专家 📌 她们会聊这些你可能关心的事 当别人说“女生适合做产品/测试”时,要如何找到自己的赛道? 打着为你好旗号,其实背后是不易察觉的隐形偏见 职场感悟:比起“女性特质”,专业沉淀才是硬道理 ⏰ 3月8日(周六)晚八点,来听一场坦诚的职场夜话,扫码预约直播 另外,之前有姐妹聊到,有些技术群以男性开发者为主,聊天内容不太适合参与,所以我们建立了一个以女性为主的交流群,欢迎进来唠唠嗑~ 【开源漫谈】 OSCHINA 视频号直播畅聊栏目【开源漫谈】,每期一个技术话题,三...
- 下一篇
银行数字化转型:数据思维与分析之道
赠书啦,欢迎大家在评论区聊聊「关于在银行干程序员的心路历程」,畅所欲言 我们将在评论区随机选出 3 名 OSCer,赠送《银行数字化转型:数据思维与分析之道》一本 活动截止时间:3 月 5 日 18:00 数据思维及其重要性 长久以来,商业银行一直是金融行业的重要组成部分。随着数字化时代的到来,商业银行必须跟上时代的步伐,推进数字化转型。 一般来讲,商业银行数字化转型是指引入人工智能、大数据、云计算、物联网等数字化技术,通过数据驱动的方法,实现智能化、自动化和高效化,从而提高业务效率和客户服务质量。 数字化转型的一项核心资源就是数据。商业银行需要搜集、存储、管理和分析大量的数据,以了解客户需求和行为、优化业务流程和提升业务效率、探索新的商业机会和趋势。而利用数据的核心是具备数据思维。 数据思维强调了以数据为基础进行分析和决策,通过数据分析和挖掘,发现问题、找到解决方案,从而实现商业银行数字化转型的目标。在数据思维的指导下,商业银行可以采用创新的思维方式,不断试错和改进,从而实现数字化转型。 1.大家都在说的数据思维是什么 假设你是一家银行的客户经理,你的客户是一位年轻人,他一般都在网上...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Linux系统CentOS6、CentOS7手动修改IP地址