原文链接:
距离上次更博已经过去两个月了,终于也有时间能静下心来想一些事情,也对这几个月的生活做一个总结吧。欣欣向荣的创业公司
暑假在学长的创业公司实习,主要负责的是两个新系统的重构。早期项目是基于Angular和sass的后台管理型SPA,完成了最基础部分的架构。经过暑假一个多月的努力,成功完成了一些前端自动化和工程化的处理。
使用gulp完成sass的编译、css的打包压缩、js的压缩混淆,优化HTTP请求数,大大提高访问速度。
使用gulp添加打包文件名后的hash值,并配合修改入口的文件引用路径。保证上线后的版本不会因浏览器缓存而产生影响。
css部分全部用sass分模块编写,极大的提高的UI的复用性。
由于后端使用java来编写,前端需要配置相应的IDE才能正常运行,为前端编写了傻瓜式配置文档。
这里获得的成长
在这里获得的成长是对项目整体的认知,从产品需求到交互设计再到前端配合后端联调实现整个项目的功能迭代,也对和后端的合作和一些性能优化的问题有了更深刻的认识。
由于开发人员的欠缺,和学长也一起商讨了许多次如何提高开发效率,如何在最短时间内最高质量的完成运营和产品经理的需求,同时需要保证之后的维护和迭代顺利进行,这是和自己单打独斗做些玩具的根本区别。用户体验同样是重要的一环,程序员不仅仅需要思考如何用代码实现功能,更需要思考的是需求背后真正面对的痛点以及如何去更好的击中这些痛点,前端作为和用户联系最紧密的一环,亦如是。这段日子是自己最拼的一段时间,暑假和国庆后的十天,没有在1点之前睡过觉,乐在其中,也就不觉得苦了,也很庆幸可以和学长们一起并肩奋斗过。看到自己参与的项目最终上线投入使用,也是对自己的一个完美的交代了。组件化开发小试牛刀
9月底的时候接到一个类似分答的外包项目,基于微信公众平台的webApp,项目初期只有我一个人负责前端部分,进行技术选型时,考虑了以下几个方面:
兼容性要求较低,故可选用较新的技术来实现。
前端部分之后会有多人合作,为了提高效率决定采用组件化开发。
后端是一个研究生学长负责,平时只能远程沟通,故决定实现前后端完全分离开发。
综合以上几点,选用了比较容易上手的vue.js来完成这个项目。体验如下:
vue-cli可以非常方便的搭建开发环境。
webpack默认配置十分完善,傻瓜式完成常用开发环境所需功能。
相较于angular早期版本中的directive,vue单文件组件更加易懂,也极大的提升了合作的效率。
这期间也遇到了需要问题,例如:
两名前端的代码风格迥异
由于代码质量并没有做严格的限制,导致自己和另一面前端的代码风格相差较大。这个问题在模块间有耦合的部分问题比较突出,最终会导致代码风格非常杂乱,不易理解。对之后的维护工作造成了一点困扰。
设计的欠缺
由于组件化开发经验的缺乏以及对需求不够精确和细致的分析,导致之后部分可复用组件在之后又重新封装,做了一些低效率的无用功。
开发进度的管理未严格执行
由于对产品的流程理解不够透彻,导致出现为了测试A功能需要B功能可用,而B功能也不可用的死锁状态,极大的降低了开发效率。
吸取以上几个问题的教训,在之后的项目中,最首要也是最重要的事情就是对需求的充分理解,其次需要必要的代码规范,这样能够避免一些沟通上的问题,再其次就是对整个项目清晰的规划以及严格的执行,需要预留出必要的测试时间以应对开发时未测试出的bug以及一些意外的因素。
百度实习生面试
自己投的实习生简历阴差阳错的辗转到了百度的手中,也经历了第一次大厂的面试。
两次面试的形式都是电话面的形式。一面的问题比较基础,基本是按照简历上写的东西来提问,夹杂一些基础的问题,例如跨域的方式、两栏布局的实现方式、和后端通信的方式以及css3和html5的新特性。二面就让我有些捉襟见肘了,拿简历中的项目来抓住一个点问,不断深挖,也暴露了自己总结不够及时并且基础不够牢固。最终的结果是没有通过,不过不灰心,再接再厉,明年春招又是一条好汉。小结
这两个月的忙碌生活结束了,接下来的日子就是消化和吸收这一段日子以来的收获。之后的日子里做到一周更新两篇博文,主要是实际项目中遇到的具体问题来加以总结和分析,未完待续。