在一个月的忙碌之后,第一由我主导的项目正式上线了。虽然只是个老掉牙的WP开发,但对我来说却是值得纪念的一步。做职业前端开发已经一年半了,这是第一次独立领导一个项目。
做lead的难度远超dev,且不谈和marketing不停的扯皮,哪怕在纯技术方面,也面临众多问题。当我们面对众多的技术选择和决策时,如何做出合适的选择真是个难题。
比如css方面,一开始我低估了项目的复杂度,选择直接手撸纯css。在几个template之后发现单一css文件已超过2700行,在这样下去必将无法维护。于是又快马加鞭的引入了BEM命名法试图将其从语义上模块化。但随后又不得不面对设计的变动,于是发现简单的BEM无法满足这样的频繁改动了。考量过后引入了sass来彻底分离各种组件和变量,并利用mixin来构建可重用的部分。一个简单的CMS单style部分就在三周内经历了三次重构,确实比我当初预计的复杂许多。
自己选的技术,含着泪也要做完。每次面对近万行的代码重构时,我都会不由得脊背发凉,头皮发麻。但从另一个角度来说,这些重构也让自己理解了许多技术的初衷。比如为何要用BEM等规范,css preprocessor的优势,css可重用组件的方便之处等等。自己也在急速学习,三天完成了了BEM重构,一周sass构架完成,再次证明了没有压力就没有进步,人都是逼出来的。
这次经验也暴露了自己的许多弱点,比如渣一般的css能力,和对html本身了解的缺失。Web的三驾马车中我只能勉强驾驭JS,离成熟还差的太远了。另外软实力上,比如沟通能力和团队控制上也有欠缺,还需要随着时间推移进行更多的锻炼。
虽然有些磕磕盼盼,但好歹是正式上线了。呈现的效果还是不错的,移动端和老浏览器的兼容也比较让我满意。还有许多可以优化和需要重构的地方,来日方长吧。
前面说过,这个CMS只不过是开胃小菜而已。大餐是新的backoffice,希望我推荐的React技术盏能获得支持。这不仅对我是个挑战,也是一探JS潜力的绝好机会。能否走上人生巅峰就在此一搏啦 :)