[笔记]如果成为一个更好的前端工程师

162 阅读3分钟

不要只解决问题,弄清楚问题根源在哪里

为什么 float: left; 放这儿?不要说“不知道,反正我去掉效果就不对了”;不要仅仅为了阻止资源竞争而使用settimeout…

了解问题根源会花费相对多时间,但不这样做的话,则会发现自己止步不前,一次一次地被同一个地方绊住。

学会预测未来可能发生的浏览器环境变化

前端代码与后端代码最主要的区别在于:
后端代码运行在开发者控制下的环境中;
而前端代码运行环境则几乎完全脱离开发者控制,用户使用的平台(不同的浏览器及版本等)和设备(PC,移动端等)随时在变化,前端代码需要完美/优雅地兼容他们。(可以引申理解 为何前端关键字有 兼容性、响应式设计、跨平台框架…)

阅读规范

相同的代码在不同的浏览器上呈现效果不一样,不能认为好的浏览器是对的,差的是错的。
了解标准如何规定的,坚持标准来写你的代码 会让你的解决方法更具前瞻性。

另:一个“伟大”的前端工程师通常是站在改革前沿的人,在新技术成为主流之前接触并采用它们,甚至为新技术的发展做出贡献,从而影响规范的发展。(培养看技术规范,并在真正运行它们之前想象其如何运行的能力)

阅读其他人的代码

总以自己的方式解决问题,很容易导致“江郎才尽”。(以自己经验得到的解决办法是有限的)
阅读他人代码,能为自己打开思路。
阅读和理解他人代码,对 以团队为单位工作 和 贡献开源项目 来说是很必要的。

(从头开始写代码,和从已有代码中发现问题,后者在日常工作中占更多成分)

与更聪明的家伙一起工作

前端大多自学,后端更多出自学术界。而自学和独自工作带来的是无人反驳想法、无人审查代码。
如果在团队工作,选择和更聪明、更有经验的队友一起工作。

如果个人工作,则在开源项目/网站中活跃贡献个人代码。

重造轮子

轮子重造对业务来说不好,但却是一个好的学习方法。

在不知道要实现什么时,与其造一个新轮子,不如重造一个你认为好的 JS 库或 CSS 框架,好处是卡住的时候该框架内有现成的答案。

将你学到的写下来

最重要的原因是强迫你更好地理解每个主题。
如果不能好好解释清楚,则说明你自己没有真正理解。通常直到你试图写下来的时候,你才发觉你没有理解透。

写作、演讲、做 demo 是强迫自己深入知识点、从里到外完全理解的最好方式之一。即时无人拜读你所写的东西,你写作学习的过程也使你受益良多。