工作后懂得的一些大学课程的意义

84 阅读3分钟

不知道各位是否跟我一样,读书的时候觉得一些课程的意义不大,或者说晦涩难懂,然后就混个绩点一笔带过,比如软件工程、UML、数据结构、设计模式等等。

软件工程

软件工程,在我的印象中,它可能是一个纯理论的课程,并且整本都是考试重点,让我一下梦回高中时代,考试前死记硬背,十分痛苦!!!

PixPin_2024-12-26_14-07-24.png

上班后明白了它的意义非常的重大,作为一个在大小公司都待过的人,我只想说有一个完整规范的软件开发流程十分的重要:

小公司(当然不是所有)会缺少很多流程,比如有些公司根本没有仔细设计,不走测试就直接上线,随时随地发版本,服务器说停就停,这样就会导致产生很多没必要的工作量和客户沟通成本,甚至生产事故...

某公司某年的年会抽奖,公司为了节省成本找了我们这家小公司开发抽奖软件,实现3万人在线抽奖,由于成本低,加上技术组长对于自己的技术过分自信,导致正式年会上,直播十万人在线,他们董事长上台抽出幸运观众,大屏幕开始滚动,停止时屏幕上出现了一个大大的alert出来的AjaxError,在场所有人心都跳到了嗓子眼,导演使劲在对讲机里叫“怎么回事?你们干什么!!!”我的表情如下:

PixPin_2024-12-26_14-38-44.png

由此可见一个完整的软件生命周期有多重要,然后对于如何构建一个完整的生命周期,如何迭代开发,这些知识都来自于《软件工程》

UML

可能有些学校都不开这个课程,我对于这个课程的印象就是教你画图、连线,画画E-R图,好像没什么作用,也不是那么重要

image.png

直到我见识到数千张的表设计和复杂关系表设计以及垃圾表设计时,我才知道有一个关系图是何等的重要。

接手公司项目时,还很狂妄自大,不就是CRUD吗?有手就行,直接看到数据表时,人麻了!没有注释,每个表规范不一样,表与表之间关系混乱,同一个字段在不同表叫法不一样,根本扯不清楚表关系,前同事都走完了,根本没人知道,无奈只能硬着头皮看SQL,导致浪费了很多时间。

数据结构和设计模式

对于数据结构,是我觉得大学生涯里面比较难懂的课程,不知道是老师的原因还是怎么的,就是不懂,转来转去就晕了,索性就不学了。后来也是在抽奖那家公司,应用了SET的特性,做了大量数据随机打乱,那是第一次使用Map和List之外的其他类型,后面随着工作时间越来越长,也使用数据结构的特性设计了很多存储结构,实现了很多复杂业务,也算把之前的课程补回来了

对于设计模式,其实老师也没深入讲解,有些学校也可能不会教,但是他对于一些业务场景是有很多帮助的,比如多路多渠道支付,打折、优惠券等等,就不要再IF-ELSE了, 整个编程思维也有了一次提升,觉得程序也不全是写代码了,很多设计都是很巧妙的艺术!

总之大学的每一门课程都有他它存在的理由,没错这篇就是写给各位技术男大们看的,别整天睡觉打游戏了!抓紧学习吧,不然出来只能送外卖了!

640.gif