当前位置: 首页 > news >正文

怎样吃透一个java项目?

前言

对于刚开始看视频敲代码,最忌讳的便是一上来就完全照着视频做,这么做就算完完全全的跟着视频做出来一个项目,始终都无法将里面具体的知识化为己有,单纯来说只是简单的复刻,视频的作者本身是不会对他在做该项目过程中所遇到的bug和调试过程放出来的,所以你学到的就是一个几乎无bug的项目,这样你缺少一个主动去探索的过程,一个顺利、没有bug调试的项目自然不会让你印象深刻,这就是为什么会觉得做完项目后会有一种空虚的感觉,虽然一开始做项目可能对于自己的要求会稍微的下调,但不妨试着从一开始研究透一个项目,可以说这才是真正能从做项目中学到东西,下一次做项目前可以按着下面的方法试试,希望能对你有所帮助~

一、了解项目本身

在选定这个项目前,先要问一下自己,这个项目具体是做什么的呢?它的使用场景是什么?它整体的一个业务流程~是什么?它的架构设计Q的理念是什么?它运用到了哪些具体的技术?对于项目有一个大体的了解对于后续深入的学习项目是非常有必要的,这个时候官方的文档就很重要
了,就拿github中的项目来说,一般都带有一个文档对该项目进行介绍,甚至有的项目会说明现状以及对未来的相关规划,有了这个,我们就可以从整体上把握该项目的设计理念Q了。

二、保证代码的可运行性

在确定了一个适合自己做的项目之后,就可以搭建环境、调试环境然后进一步的对代码进行操作了,这里说的操作不可是题主那样的照着视频敲代码,现在大多数教学视频Q一般都会附上源码的相关文件,可以将这些代码在自己的电脑上试着运行一遍,确保所选项目的代码在自己的电脑上是可运行的,首先一个项目的体量一般是比较巨大的,如果没有事先有这样的准备直接开始敲代码,在敲代码的过程当中若是出现错误有时是很难排查出来的(尤其是一些特别细微的错误,这点深有感受)。
对于Java而言,在开发环境上需要注意与项目的要求一致,确定jdk的版本,jdk版本若是有差异会导致一些问题,如中文乱码、提示编译错误“等,这一点相信不少人在新手期都会遇到,
往往遇到时不知所措,会折腾不少时间乃至消磨做项目的心情,所以事先确保开发环境与项目的一致性很重要。

三、项目流程的学习

对于项目的学习这一块,建议的是从项目的主干流程开始学习,然后再细化分支的流程,怎么叫主干的流程呢?比如做一个Java的项目,从新建项目开始,封装、全局异常的处理、整合
spring、解决认证与授权的问题、跨域的问题、
再就是到了业务功能的开发(菜单管理Q、AP|接口的开发)、再到关于项目的部署,最后发布到线上,这是一个大概的主流程,对于主流程中用到的基础的技术知识,一定要有深刻的认识,包括其实现的原理、方式等,这些应该是属于基本功的,若是对于项目过程中的哪一块知识点不熟悉的,应当立刻回去查补一下,不要再做项目的过程中因为基础的不扎实将自己置身于过于被动的地位。

四、偏门或超纲浅尝辄止

上面所提及的是对于相关技术的基础知识要
“打破砂锅问到底Q”的态度,但并非是对于所
有,可能在项目的某些实现的方式上是比较偏门或者已经超出自己的理解范围了,对于这种已经不属于基础范畴的基础知识Q,若是过于深究,
对于项目的进度是没有好处的,而且还可能因为这样越研究越懵,因为有些细节所涉及的知识已经远远超过自己知识的范围了,简而言之就是技术水平达不到,对于这些有个大致的了解就可以了。
五、及时总结知识点
最后,无法避免的就是对于项目中知识点进行总
结,在这里我的建议是开个电脑的笔记应用如
Typora或者微软的笔记软件Onenote,这些有着更多可以帮助你管理笔记的功能,实现分类化的管理,如果你是初次做项目,在项目中所需要记录的知识点必然是很多,这些总结性的知识点能保存下来必然会成为你以后再做项目乃至工作的宝贵经验,有条理、分类清晰的笔记是你以后高效回顾复习的必然需要。
在这里插入图片描述

相关文章:

  • Mac版本破解Typora,解决Mac安装软件的“已损坏,无法打开。 您应该将它移到废纸篓”问题
  • 网络原理(一)网络基础,包括IP ,网络相关的定义
  • GeoSOS-FLUS未来土地利用变化情景模拟模型
  • 【Qt】QGroundControl入门3:源码初探
  • SpringMvc决战-【SpringMVC之自定义注解】
  • 合宙Air724UG LuatOS-Air LVGL API控件-开关 (Switch)
  • PV PVC in K8s
  • 30天入门Python(基础篇)——第2天:Python安装(保姆级)与IDE的认识与选择+详细安装教程
  • Python HTTP Server
  • 算法训练第五十九天
  • CSS:实现文字溢出显示省略号且悬浮显示tooltip完整信息
  • vue-elementPlus自动按需导入和主题定制
  • 【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值
  • 将函数实现放到CPP报“无法解析的外部符号...”,系VS Bug
  • Flink从入门到精通之-05 DataStream API
  • 命名空间 namespace
  • 前端开发——Javascript的定义函数、事件处理、Math对象、Date对象
  • GPT-4老板:AI可能会杀死人类,已经出现我们无法解释的推理能力
  • CSS(三)
  • 华为nat配置实验:内网能够访问外网,内网服务器80端口映射出去
  • 神二十航天员公布
  • 从神舟五号到神舟二十号,每次任务标识藏着哪些逐梦星辰的密码
  • “动漫短剧”值不值得做?
  • 天地图新版上线对公众、企业有何用?自然资源部总规张兵详解
  • 湖南平江发生一起意外翻船事件,6人不幸溺亡
  • 中共中央、国务院印发《关于实施自由贸易试验区提升战略的意见》