更多
 当前上元教育宁波校 其它分校: 慈溪校 无锡校 常州校 南京校 上海校 绍兴校 南通校   (建议使用IE浏览本网站/分辨率1024*768px)    
宁波培训学校 宁波培训学校
 位置: 邦元教育 >> 机电培训 >> 技术资讯 >> 正文
 

程序员刚出来实习怎么样,有啥感悟

作者:Admin  更新时间:2018/09/09  点击次数:

读研一年,现在在导师下面的公司实习(一开始美其名曰项目紧帮帮忙,继而抽不了身……)。本科也没出去实习过,并不知道大公司里面具体的人员安排和分工,在现在的公司也有两个多月了,记下一些小小的感悟和吐槽。

目前公司的运行状况,总共十多个人,2个管理,2个UI,4个前端,3个后台。本人是写后台的。基本上接了很多的项目,每个配1个后台1个前端,UI共用。后台用的快速开发框架,app用的mui。

我们的leader在哪里

目前,公司的CTO名不副实,基本只负责任务的分发,而没有技术的统筹。这样带来的最大的问题,就是产品质量差,效率低。

在我来之前,公司开发人员是不使用任何项目管理软件的,由于公司没有强制使用公司台式机,因此代码几乎都是随身带着,一旦出现故障,所有代码都没了。目前在公司服务器搭了一个svn,但是由于网络的问题(经常断),使用的人数并不多,也就是国庆放假的时候才强制所有人同步一次代码。

后台又搭建了项目管理软件,但是依然没有做出严格的使用要求,所以员工的积极性并不高,很多时候还是通过口头交流来协商接口等,无疑降低了开发的效率。

还有一点想讲的就是开发的规范,之前在知乎看到一篇文章【程序员你为什么这么累?】,作者是华为的,里面有一个专栏就讲到了一系列的开发规范,例如接口的定义,日志的输出以及异常处理等。再和自己现在写的项目一对比,简直不忍直视。由于项目是后来接手的的,所以势必和前面的那个程序员在规范上有所不同,显得很乱。非常不利于项目的交接和维护。

技术上没有一个令人信服的leader,很多事情就缺乏执行力。

论培训的重要性

后台采用的是快速开发框架,属于那种权限管理+代码生成器这种形式的。在我看来,既然选择使用这类的框架,那么公司至少有一个人是对框架是非常熟悉的吧?框架本身的性能,功能,集成的一些框架等都会清楚。那么在,新的后台开发加入时是否应该进行简单的培训工作呢?显然公司是没有的,我是自己大致看了下项目的结构和文档,虽然能够很快的投入开发,可是对框架的特性并不了解啊,以致于不能将框架的功能最大化,物尽其用。一段时间开发下来,恐怕早已破坏了框架原有的设计。

公司缺少技术特别强的人。初来乍到,管事的人总会说,有问题,自己再半小时内解决不了的,直接去问。可是现在的情况是,我去问,结果人家帮我一起百度,或者只言片语打发了(订单并发下单问题怎么处理?队列和加锁啊)。可是,我来咨询你,有的时候并不代表我没有能力解决这个问题,而是我觉得你经验丰富,我需要1小时解决的问题你可以10分钟解决对不对?

读过人月神话么

需求不明确和没有开发文档,估计是很多公司的通病吧。我现在在做的项目还有一份丑陋的业务文档可以看看,我同学就完全没有文档了,需求全靠自己想+UI的设计稿。等到项目结尾才写数据字典和接口定义文档。且不说交接的不便,开发上那效率是真的低!同学总是在跟我诟病说,后台接口写的慢,还不断修改接口的字段,导致他痛不欲生(前端我同学用来vue,双向绑定的~)。不用说,这都是开始不写文档的锅。要知道,在需求不变的情况下,一开始协商好接口参数和返回值后,其实前后端完全是可以分来开发的。前端可以使用mock.js或者easy mock来模拟接口值,到时只要url一换就成事儿。

细节上,谈谈java项目分包的问题。

由于使用代码生成器,所有生成的代码都入左图所示,直接根据三层架构,将项目分成表现层、业务逻辑层等。这是一种默认的分包形式,把所有业务逻辑拆分到各个分层去。首先代码生成器是按照表来生成controller的,这里我就已经不太认可了,虽然说不同的表代表这不同的业务,但是毕竟controller应按职责来分的,因此是否需要在代码生成之后再根据业务来手动分controller呢?其次,在实际开发过程中,会遇到有些类,好像既不属于工具类,也不属于三层中的任意一层,不知道该放哪里。

那么我就推荐最近学到的第二种分包方式——根据业务来分包,如下图右边所示。每一个业务都包含了一个微型的三层,有自己的controller、model、services等。这种看起来业务条理就更清晰。

宁波上元教育:程序员刚出来实习怎么样,有啥感悟


随便拉过来的测试人员合格吗?在公司,每次项目收尾,都会拉UI来进行测试,这点我也诟病不少次了。UI很多都不是科班的,也没有学过软件测试,对于他们来说,产品开发出来,大体上跟他们的UI设计一样,点击下正常就OK了,根本就不会考虑复杂的测试用例,边界条件,路径覆盖等等。总之,测试不能随便。

总结

我我觉得,既然在公司,我们开发的不再是一个课程设计,而是一个稳定可用的产品,该有的条条框框还是需要的,而不是由开发人员自己想到哪就写到哪了。

理想很丰满,实现很骨感。

上一篇: 程序员面试时算法题的解答思路 下一篇: 没有了
相关文章
 ·程序员面试时算法题的解答思路
 ·三菱PLC控制数据有哪些类型和作用
 ·Eclipse在线安装SVN
 ·程序员开发该掌握哪些Java优化技能
 ·宁波上元教育:web前端开发工程师面试题大全
 ·宁波上元教育:Java项目经验——程序员成长的关键
 ·如何识读PLC梯形图
 ·宁波上元教育:谈谈Java开发人员怎样进行技术面试
 ·PLC梯形图中互锁电路是什么意思
 ·web前端是什么,干什么用的
网上报名
姓名:  性别:
电话: 
地址:
课程:
最新课程 更多
 ·程序员刚出来实习怎么样,有啥感悟
 ·程序员面试时算法题的解答思路
 ·三菱PLC控制数据有哪些类型和作用
 ·Eclipse在线安装SVN
 ·程序员开发该掌握哪些Java优化技能
 ·宁波上元教育:web前端开发工程师面
 ·宁波上元教育:Java项目经验——程
 ·如何识读PLC梯形图
 ·宁波上元教育:谈谈Java开发人员怎
 ·PLC梯形图中互锁电路是什么意思
推荐课程 更多
 ·程序员刚出来实习怎么样,有啥感悟
 ·程序员面试时算法题的解答思路
 ·三菱PLC控制数据有哪些类型和作用
 ·Eclipse在线安装SVN
 ·程序员开发该掌握哪些Java优化技能
 ·宁波上元教育:web前端开发工程师面
 ·宁波上元教育:Java项目经验——程
 ·如何识读PLC梯形图
 ·宁波上元教育:谈谈Java开发人员怎
 ·PLC梯形图中互锁电路是什么意思
热门课程 更多
 ·程序员刚出来实习怎么样,有啥感悟
 ·程序员面试时算法题的解答思路
 ·三菱PLC控制数据有哪些类型和作用
 ·Eclipse在线安装SVN
 ·程序员开发该掌握哪些Java优化技能
 ·宁波上元教育:web前端开发工程师面
 ·宁波上元教育:Java项目经验——程
 ·如何识读PLC梯形图
 ·宁波上元教育:谈谈Java开发人员怎
 ·PLC梯形图中互锁电路是什么意思
网站首页| 友情链接| 最新开课| 会计培训| 电脑培训| 外语培训| 建筑培训| 信息技术| 才艺培训| 职业资格| 关于我们| 网上报名| 网站地图| 后台管理
联系地址:宁波市海曙区中山东路137号7楼
联系电话:0574-87327805、87323725、87324192、87325693、87325823、87326973、87329343、87329353、87042056