给大家讲讲真实工作中的开发和学校里有什么不同
it吧
全部回复
仅看楼主
level 5
临界_湮灭 楼主
2022年03月09日 07点03分 1
level 5
临界_湮灭 楼主
在学校里学编程,讲课老师的目的是为了讲完讲课用的教材,完成课程设计,以及考试及格。
比如学java,一般是老师按照某些书讲,也不管书里的java技术是否真实会在实际开发中用到,或者说,不少讲课老师平时是不做项目的,他们也不知道项目开发会用什么技能,以及各项技能会用到什么程度,这也是为什么不少学校还在讲swing界面编程,还在讲ssh这种早就不用的框架。
2022年03月09日 07点03分 2
level 5
临界_湮灭 楼主
我平时也见过一些学校的教材,这里就以spring boot技术为例,讲下学校里讲的和项目所用相关技术的差异。
学校里,一般会从spring boot启动类讲起,再讲用jpa操作数据,再讲一些控制器层的注解,比如@RequestMapping等,再讲一些技能时,会以语法为主,比如某个方法什么意思,相关参数什么含义,要实现某个功能,可以用调用哪些方法输入哪些参数,再着重讲一些注解的含义。
也就是说,学校里的讲课过程中,老师会着重围绕语法讲,讲清楚某个对象以及某个方法的含义,但在实际工作中,开发者是会以任务为导向。
2022年03月09日 07点03分 3
level 5
临界_湮灭 楼主
比如用spring boot做开发,项目经理顶多给开发者一些可供参考的例子,让开发者实现某个业务功能。此时如果开发者还是按学校的步骤,先理解api的用法,再理解诸多参数的含义,再此基础上再开发,一定会延误开发进度。
2022年03月09日 08点03分 4
level 5
临界_湮灭 楼主
下面从诸多维度来进一步说明学校编程和工作中编程的差异。
从所用的开发语言来看,就java方面,能讲现在比较实用的spring boot框架的学校这两年才多起来,不少学校还在讲ssm框架,甚至是ssh框架,我不知道是否还有学校只讲java核心,不讲Java web开发框架。但公司里用的,至少是ssm,大多数应该是spring boot。
从项目管理角度来看,一般公司会用maven管项目,用git管代码,用jenkins做部署,用jira管进度,甚至还会用docker和k8s,而在学校里,顶多就用个集成开发环境+Maven吧。
2022年03月09日 08点03分 5
level 5
临界_湮灭 楼主
从工作任务角度来看,学校里估计只会要求学生会写代码,在工作中,程序员不仅需要会写代码,更要会做单元测试,做代码质量管理,参与数据库设计,参与项目发布,以及通过看日志解决实际问题。
从代码编写方式来看,学校里一般会要求用符合教科书的方式来写代码,比如设计数据表要符合三范式的规范,应当尽量避免重复写代码,重复代码应当写入函数等。但在工作中,一切是要围绕进度和成本,比如某段代码确实应当重构,但临近发布,来不及优化,所以只能用低质量的方式来编写,或者某项目组没有预算找前端开发,所以只能用比较low的方式来设计前端框架。
2022年03月09日 09点03分 7
1