一大早看了 《美团旅行前端技术体系的思考与实践》 这篇文,恰巧又在昨天完成了一个项目。确实让我忍不住码篇总结,为自己做一个复盘。
历时两个月,考勤系统 这个项目总算能够称得上完成了。项目本身的功能很少,完全可以用“简陋”一词来形容。但是对我来说,却可以称得上是我第一个作为前端而不仅仅是“切图仔”而完成的项目了。咳,虽然在这其中涉及的技术范围只限于HTML CSS Javascript AJAX,仍然跳不出“切图”这个框,但是比起之前基本只处理静态的自己来说,意义大有不同——这大概能算我朝成为“前端”又迈出的新一步。
背景
该项目作用是让学员能通过系统提交日常学习状况的周报信息,并方便导师查阅学员反馈的学习近况的系统。整个系统分为学员PC端,学员移动端和导师PC端三大块。
2017-06-30 目标
最初加入到这个项目负责前端的人加我也就三个人。参与要求是要会使用Bootstrap,前端仍以切图为主,重点在于通过这个项目磨炼PHP组的成员。由于最初前端这部分主要分工人不是自己,我一开始的想法仅仅是跟着走完整个项目流,做自己会的切图部分。通过看其他前端成员的代码,了解项目中涉及JS方面的处理方案。而实际进程中,我个人在这个项目中所担当的角色就是与最开始的设想截然不同的。
2017-07-21 过程
从参与项目开始到这个时间点,最大的转变是由我变成了项目主要的分工者,只因为我的前一位被调到另一个项目组去了。项目本身的内容前端导师称完全可用VUE来做,之前的时间中除了做静态的HTML部分就是看VUE的教程,实践于项目本身。但这和项目构成的初衷之一并不相符,后端人员对于VUE不了解,加之那时也正在进行他们自己的一套作业。这个项目,前端是配合后端的,然而直到这一天才让双方形成了真正意义上的一次沟通:
1.彼此用到的技术点;
2.后端和前端的分工;
3.项目功能与表现上的细节。
在后来的时间里,处理学员移动端球体倒计时波浪变色的JS效果,周报信息的显示,上下滑动加载的页面效果,与后端协调ajax接口的内容,学员PC端的分页功能,导师端的下拉选择ajax触发等,对于JS基础极差的我来说都是难点。我并不能造轮子,只能Google到解决方案之后自己根据实际需求调,在不断改进查阅的过程中完成一些功能点的。前端部分自己能独立做完,这是两个月前的自己完全没能想到的一件事。而其收获远超于最初目标:
1.在这次切实明白了Google的好用,能比之前更明白如何应用搜索来解决问题;
2.补了如何应用浏览器调试的知识点,现在能顺利应用起来发现并解决问题;
3.知道了通过Network来查看json的信息,在Json.cn中解析用ajax调用接口;
4.在这次应用中进一步理解JS的一些基础,比如函数的应用。
也许我协助别人完成这个项目,也能通过看别人的代码在完成过程中收获上述,但是肯定比不过自己独立实践来得深刻。更不用说,在完成项目中我对自己的信心增加了不少。之前的态度是,觉得自己不能,而现在是觉得自己能试试。花时间,找方法,总是能够解决问题。完成项目技术提升上的收获是超越原本目标的,但同时需要注意的是时间成本这个问题。假设,我所具备的技能一开始就足以支撑我完成项目,那么时间成本至少要比现在减少一半。在琢磨自己完全不知道的事情上,我时常多想,然后绕圈,最后解决了才发现解决的方案就在最初的原点上。这里让我不得不承认自己知识面的狭窄。而在找到了解决方案,实际动手解决的过程中,由于基础差,在代码调试中也遇到许多问题才一一改进到位。整个项目中,我缺乏对项目的宏观把控,往往只是基于自己的理解把目标着于一点,导致有些效果即便写出来了,到了后面仍需返工。
如果下次做一个项目,我会在最开始弄清楚整个项目到底是怎么一回事:项目要求、在项目中前端的职责任务、可能用到的技术点、写前端代码需要的UI、项目交付的时间等。尽力规避掉很多由于最初欠缺沟通和对项目整体考虑出现的时间成本的花费。在之后也需对用到的具体技术点另做记录,这不单是对印象的加深,对一些代码进一步的理解,也是能够在以后需要写类似功能时间又不足的情况下,能直接复用。我还需提升自己对git操作的熟练度,我之前对于git有点执着于用命令行,但是在有些时候命令行和图形化git的结合,似乎更利于我与后端交流。
最后挺感谢在写总结之前看到的文,按照里面提到的如何做复盘,才让我这样细致的回忆了一遍项目过程。而对于文中提到的规划和视野,上述复盘中就包含了我对于“规划”的部分理解,实际操作还得在下一个项目中来实践。视野的保持需要长久的坚持和累积,对于关注各类问题精力上的划分也确实让我更清晰了一番。在后面有时间,我还需整理技术总结,相信对于一些问题,我能够有更进一步的认识。
不知道自己能够做到做全到哪一步,但是我会努力去做。
网友评论