在公司实习4个月收获总结

  不知不觉,我已经在公司实习了四个月,确实比较辛苦,但是能真真切切地感受到自己的成长,这就很舒服了呀嘻嘻~,下面这几个点主要是想分享给在校大学生,可能大家会觉得都是一些老生常谈的东西,但是确实是我实习四个月以来感受最深的东西。

一、版本控制器的重要性

  在真正的商业项目中,版本控制是必不可少的,它主要为我们解决了以下几个问题:

  (1)项目代码放在一个远程仓库(svn),公司每个开发人员都可以很快的从远程仓库下载代码进行开发。(突然想到大学期间用ftp传代码的日子...)

  (2)新发布到线上的代码有bug怎么破?如果没有版本控制的话,那你就只能手动查找bug,修改之后重新发布,这段时间里,线上一直是运行着有bug的那一份代码。而如果有版本控制的话,可以立即版本回退,先发布上一个版本的代码到线上,等最新代码bug修复之后再重新发布。

  (3)方便多人合作,有了版本控制,妈妈再也不怕我和同事的代码有冲突或者不同步啦,大家都共同维护着一份远程服务器代码。舒服。

二、设计模式

   当我们代码量多了之后,如果没有一定的设计模式思想,比如说单例模式,策略模式,代理模式,迭代器模式,发布订阅模式,命令模式,组合模式,模板模式,享元模式,职责链模式,中介者模式,装饰者模式,状态模式,适配器模式(强行列举一堆设计模式哈哈哈),有了这些设计模式思想,我们就可以巧妙地组织我们的代码,大大降低了维护成本。

  其实设计模式无非就是一个目的:将不变的部分和变化的部分隔开来。讲人话就是开发出低耦合,高内聚的程序。

三、前后端分离思想

   前后端分离在我看来无非就是两个目的:

  (1)加快前端开发进度,前端开发不依赖后台,只需定义好需要的数据接口即可。

       (2)前端代码放到前端仓库,方便维护,修改前端代码不会影响到后台逻辑,

四、脚手架的构建

  在我实习的这两个月里,有一些项目目录结构甚至里面的代码都是高度相似的,最初我都是从老项目复制重复的代码到新项目当中,很明显这种又浪费时间,又机械化的操作我们可以交给机器去处理,也就是使用脚手架,我自己用yeoman写了一个脚手架,把能复用的代码都写在脚手架的模板里面,每次使用脚手架创建新项目,就可以按需选择我需要的代码,生成对应的项目,岂不是美滋滋。

五、测试的重要性

   以前在学校做的项目,从来不测试的,程序有没有bug全靠缘分哈哈哈。但是来到公司之后我才认识到测试的重要性,因为商业项目是会接触到大量用户的,所以在上线之前,就必须进行足够的测试,每条程序路径都需要测试,测试时间有时候甚至比开发时间还要长,如果项目上线才发现有bug是会被砍头的。

六、数据上报(其中最主要是性能上报)

   我们的程序必须是可监控的,所需要进行大量的埋点,最基本的比如说页面pv。而监控当中最重要的就是性能监控,经调查数据显示,当浏览者点击一个网站浏览者会为这个网站等待七秒钟,而如果超过七秒这个网站还没能打开,那么这个网站将会被大多数浏览者选择关闭,放弃不再查看这个网站。所以我们必须实时监控我们页面的性能,其中有两个重要的性能指标,那就是白屏时间和首屏时间,这两个指标直接关乎着一个页面的用户留存率。

七、封装思想

  当一段相同的代码在不同的地方出现时,我们就需要考虑把它封装起来, 任何一段可复用的代码,我们都可以把他封装成一个独立的模块,只暴露出接口给外部。

九、css预编译处理sass

   当项目代码量变多以后,css预处理器能够帮助我们更好的编写我们的css代码,最常用的就是css可以用层级嵌套,这样方便我们观察代码结构,更利于代码维护。还有就是mixin可以帮助我们编写一些通用的样式,以便复用。当然css预处理能做的东西不仅仅这些,他还有很多有用的功能,有兴趣可以去sass官网查看教程。sass官网链接: https://sass-lang.com/guide

十、JavaScript模块化

   现在的前端已经不像以前一样仅仅只是做些简单的交互就可以了,而是会伴随大量的业务逻辑,不可避免的我们的代码量就会大大增加,如果还把所有js都放在一个文件,那么维护起来是相当可怕的。所以我们就需要把代码划分成一个个模块。现在比较主流的模块化工具有webpack。webpack中文文档: https://www.webpackjs.com/

总结:其实你可以发现,上述的总结,基本都是在解决两个问题,那就是开发效率代码可维护性。公司项目代码量相比学校项目会增加很多,并且开发时间也没有学校项目那么充裕,所以我们必须提高开发效率。在公司实习的这段时间,我收获的太多太多,比起技术上的积累,我觉得更宝贵的是思维的转变。

猜你喜欢

转载自www.cnblogs.com/yonglin/p/8823842.html