java实习生第一次被分配需求——完成需求的大概流程

一、分配需求后第一步,首先是把项目跑起来

  1. 在我进入公司一两个星期之后(基本熟悉了公司的框架),就被我所在的开发小组的某个大哥分派了一个需求,然后他给我发了一个git地址,以及一个git的分支(其实意思就是要让我用这个分支进行开发,代码的提交也是提交到这个分支上) ,就跟我说先把项目跑起来吧。(有的公司可能还在用svn)
  1. 其实拉项目下来不难,让项目跑起来是挺难的一件事(第一次,后面熟悉了就会觉得简单了) ,因为它可能会出现一些你意想不到的问题:
    • 如下举例 :我当时用从git上面把项目拉取下来之后使用idea进行运行项目,运行的时候它一直在加载,然后等了好久它才出现如下的错误,如果之前遇到过这个报错一下子就知道要怎么改,如果没遇到过就只能自己琢磨一下,不会就只能问百度了,再不会就只能找导师了。
  • 上面问题的解决:其实有两种方法:第一种是修改idea的启动文件 (点击help,然后选择VMOperation打开idea64.exe.vmoptions文件,修改JVM的配置)

修改JVM虚拟机配置:

-Xms:JVM初始堆大小

-Xmx:JVM最大堆大小

  • 方法二:修改一下build堆的参数

  • 上面只是随便举例一下遇到的某个问题,其实还可能出现很多其他的问题的,比如你jdk的版本啊,还有就是maven的版本,或者其他的开发环境都可能出现问题,最常见的就是依赖问题了,因为你的开发环境使用的版本可能与项目原来的版本不一致,所以你下载的依赖可能会不一致,运行的时候就可能出现问题了,当然具体的问题具体分析。

  • 有时候一些项目(比较老的项目,比如用jdk6的那种)可能不知道使用jdk几tomcat几 ,还有数据源(tomcat中的conf目录下的配置文件)使用啥都不清楚,这时候应该问分配需求的人,问清楚之后再启动项目(不然根本不知道怎么启动项目)

  • 还有就是对开发工具不熟悉也是需要花费很多时间去学习的,比如对某个数据库客户端工具不熟悉(你操作的数据库可能要用到这个工具),或者像eclipse这个开发工具不熟悉等等(有些项目可能用eclipse启动比较合适)

二、当经历重重困难把项目跑起来之后

  1. 项目跑起来的第一件事并不是立刻写代码,而是先要熟悉一下项目结构,然后大致了解一下项目的结构 (当然如果有需求文档或者设计文档的话,应该先看文档),然后关注某一个模块 (和需求差不多功能的模块,没有则选择你觉得有代表性的模块),去研究一下源码,但不要过于深究技术细节。直到觉得自己熟悉得差不多了再开始分析需求,分析一下大概的实现思路,然后再去写代码
  2. 如果分析需求的时候,觉得某个需求不是很明确 ,应该先和分配需求给你的人问清楚需求,然后再去写代码。

三、开发过程中

  1. 其实在写代码的时候,很多情况都不需要从0开始写 的,可以复制一个别人已经写完的模块 ,然后再根据实际需求进行修改即可。
  2. 当然你复制过来的模块代码不可能你需要的都有,肯定会有内容需要你自己写的,这时如果是要用到公司自己搭建的框架的内容的话,就可以去查看公司的文档 ,查找自己需要的内容,然后再把它用到项目里面。如果不是的话,就是考验你自己的技术的时候了。
  3. 在写代码的过程中,如果遇到问题,不要第一时间就想去问别人,应该先有自己的思考,如果写不出来,就问AI,如果再搞不定再去找导师或者是你开发小组的其他大哥
  4. 如果在写代码的过程中遇到你不确定应不应该这样做 的时候(就比如某个页面的样式和需求写的不一样,我觉得这样写更好,或者说我觉得这样比较简单,我想这样做,但我不确定可不可以这样写),应该及时去和分配需求给你的人去沟通,看看应该怎么去改。
  5. 在开发过程遇到更好的想法也可以提出来,如果不被采纳也没关系,又不会有损失,这也是表现自己的一种机会。
  • 总而言之就是要多沟通

四、代码开发完成后

  1. 代码开发完后,自己需要测试一下功能,测试没问题后(可能需要和分配需求的人交流一下,看是否符合,他说符合再提交代码)就可以把代码提交了。
  2. 当代码提交完后(不知道要过多久),会有测试人员对你的功能进行测试,如果有问题,一般还会退回来让你自己修改的,修改后再继续提交代码,直到测试那边没问题了,这个需求才真正完成
相关推荐
半盏茶香2 分钟前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
Evand J1 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB1 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3051 小时前
11.vector的介绍及模拟实现
开发语言·c++
计算机学长大白2 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
suweijie7682 小时前
SpringCloudAlibaba | Sentinel从基础到进阶
java·大数据·sentinel
公贵买其鹿3 小时前
List深拷贝后,数据还是被串改
java
PieroPc3 小时前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439696 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php
SoraLuna6 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos