![]() 作者| 邵思华 译 原文| http://www.infoq.com/cn/news/2015/08/great-front-end-developer/ 本文记录了两位工程师为web开发者们所提出的多条建议,其中一位推荐了多种实用的工具与技术,而另一位则对于如何克服浏览器开发时所面临的挑战提出了诸多建议。 Rebecca Murphey是来自于Bazaarvoice的一位软件工程师。今年早些时候,她发布了一篇博客文章“前端(JS)开发者的基本素质之2015版”,为JavaScript开发者在进行客户端web开发时使用的工具与开发方式提出了一些建议。她在文章的总结中写道:
使用模块 Murphey相信,模块毫无疑问应当作为客户端web应用程序的构建块。她最近在使用webpack以实现模块化的效果,但她希望让每个人都能够使用ECMAScript标准模块的那一天能够早日到来。 测试你的代码 在Murphey看来,为你的代码编写测试,并且保证代码的可测试性是至关重要的。虽然她对于Intern“非常中意”,但出于习惯,她还是坚持使用Mocha。关于这一方面,她也强烈推荐Michael Feathers的著作《修改代码的艺术》。 实现流程自动化 Murphey曾经尝试使用Grunt与Gulp,但她最终还是选择了Yeoman。因为在“使用不熟悉的技术开始一个全新的项目”,或是对第三方JavaScript应用的开发进行标准化时,Yeoman的表现“非常出色”。Murphey也提到了Broccoli,认为它将来或许能够取代Grunt和Yeoman。 编写高质量的代码 她的建议是,对“违反了项目中经过良好定义的风格指南”的代码进行重构,还应当使用lint工具,例如JSCS或ESLint。 使用git Murphey建议在Git中使用特性分支,因此得以“通过交互式rebase,在与他人分享提交时对提交进行清理,并且尽可能地在较小的单元上进行工作,以减少冲突的发生机率”。此外还应当通过ghooks在push操作与commit操作前运行钩子操作。 在服务端生成html 出于性能方面的考虑,Murphey推荐在大型项目中尽可能在服务端生成HTML。“预先生成这些文件,将其作为静态文件保存,以加快处理请求的速度。随后在客户端的相应事件中可通过客户端代码操作这些HTML文件,并在客户端模板中修改。” 拥抱node Murphey建议web开发者熟练掌握Node.js的相关知识,至少要了解如何初始化一个Node项目、如何搭建一台Express服务器、以及如何使用request模块转发请求。 Philip Walton是来自Google的一位软件工程师,他最近撰写了一篇博客文章“如何成为一名优秀的前端工程师”。这篇文章的观点另辟蹊径,他并没有向读者推荐任何工具或框架,而是专注于如何处理这一领域中的某些挑战。在他看来,优秀员工与真正杰出的人才的差别不在于他们的知识量,而在于他们的思考方式。他是这样描述开发者的智慧的:
Walton建议开发者进行深入钻研:
预先了解浏览器将产生的改动 Web开发者应当持续了解有哪些浏览器的改动会破坏现有的代码。以下代码在IE10中必然会导致整个JavaScript框架的方法出错: var isIE6 = !isIE7 && !isIE8 && !isIE9; 仔细阅读规范 Walton指出,虽然阅读规范是一项艰辛的任务,但一旦出现浏览器对某个页面的渲染不同的情况,这一任务就是不可避免的了。他为此特别举例说明:
代码审查 Walton表示,从阅读他人的代码中可以学到很多知识,它可以拓宽你的思路,了解“新的工作方法”,同时也有助于你在团队中的工作。实际上,这一点确实相当必要,因为“作为一位工程师来说,你的时间大部分都是在一个现有的代码库中添加或修改代码”,而不是从头开始编写全新的代码。 与聪明人一起工作 Walton“强烈”建议你至少在职业生涯的初期阶段要尽量在某个团队中进行工作,向更有经验的团队成员学习,并让他们审查你的代码。如果之后选择了自由职业者这条职业路线,那么Walton建议你参与开源项目,这同样可以感受到在团队中工作的益处。 重复发明轮子 Walton相信,虽然“重复发明轮子对于业务来说是有害的”,但它对于学习很有好处。在有些情况下,他建议你自己编写代码,而不是依赖于第三方的代码,因为这一过程将让你学到许多东西。当然这也要看情况而定。 将你的经验记录下来 Walton的最后一条建议是将你所学到的东西用文字记录下来:“按我的经验来看,写作、演讲以及开发demo,这些方法能够迫使我对知识点进行充分的挖掘,并做到从内到外的完全理解。哪怕你写的东西完全没人看,但写作的过程本身就已经值得你付出的努力了。” 扫码下方二维码, 随时关注更多前端干货文章! ▼ 微信:IMWebTech 上一篇:【项目路演预告】硬科技“投融荟”系列路演 下一篇:web前端 到底怎么学? |