在互联网大厂和小厂工作,到底有什么不一样的呢?
其实我个人觉得,不管从开发流程、代码要求还是工具应用上,都是有比较明显的区别的。
我本人就是从小厂到大厂的,今天给大家认真地分享一下自己的感受,希望能给大家一些帮助。
开发流程上的区别
1 、通常开发流程
项目立项->需求评估->模块划分(按业务)->基础架构建设 ->交付任务开发
2 、开发流程的区别
大厂与小厂的开发流程是区别最大的,也是我刚开始最头疼的。
刚开始在小厂工作,沿用的都是 Vue-cli弄下来,然后直接写代码的套路。
但是大厂一般都是多人合作的大型项目,都会有自己的初始化模版。里面已经写好了一些规范检查,项目专用的 Webpack配置,一些基础模块(如登陆,验证,侧边栏)。每一个开发人员,只需要下载这套模版,然后写自己的业务部分就行了。
3 、测试区别
很多小厂由于成本的原因都没有测试环节,但是负责大厂的大项目,持续集成,e2e,单元测试都是必不可少的。
业务部门必须测试覆盖率达到标准才允许发布。我在刚进入现在这家公司时,也是十分不适应,让人抓狂。
所以其实对于很多人来说,真正缺少的不是写项目的能力,而是这一系列的工程化实践。
代码要求的区别
小厂在写代码的时候很多都是复制粘贴,只要能跑就行,但是,大厂的一般项目都会配置有严格的规范。每个项目的 eslint都是自定义去编写的,保证大家产出代码的风格。
除此之外,大厂对于代码的质量要求更高,刚开始进来时写出来的代码,经常被检查的人批可扩展性不好,健壮性不好。
好在平时技术氛围还是比较浓厚,大家会经常交流设计模式与各种好代码,好思想,在这样的渲染下,也很快适应了下来。
而且再也不敢写垃圾代码了,因为大家都在追求高质量代码,而非能跑就行。
是不是看完觉得有点很头疼,确实对于在小厂工作习惯的程序员来说,这些东西是最不擅长的。
但是目前前端竞争激烈,优胜劣汰,我们确实又必须拥有这样的能力。
因为这些工程化的能力,和写出好代码的能力,直接决定了你是一个码农,还是一个工程师。