2017前端开发者必学清单

WOVSey 8年前
   <p>前端生态系统高速发展,我们把时间花费在尝试新技术并在网上讨论它们。我并非指不该如此,但也许我们可以放缓脚步,去多关注下那些变化不大的东西。这些东西能很大程度改善工作质量,提升工作价值,帮我们去理解新的工具。</p>    <p>这篇文章里有我自己过往的经验也有新年的计划,同时也希望能收到你们的反馈。</p>    <h3>学习如何编写可读的代码</h3>    <p>我们大多数的工作不是写新代码,而是维护既有的代码。这也就意味着你读代码的时间要远多于写码的时间,因而你需要为你下一位维护代码的同事来优化代码,而非为解释器来优化。</p>    <p>我推荐大家阅读这几本很棒的书,由薄到厚,按下面顺序来阅读:</p>    <ul>     <li><a href="/misc/goto?guid=4959738549889813953" rel="nofollow,noindex">《编写可读性代码的艺术》</a> 作者是Dustin Boswell</li>     <li><a href="/misc/goto?guid=4959738549978434181" rel="nofollow,noindex">《代码整洁之道》</a> 作者是 Robert C. Martin</li>     <li><a href="/misc/goto?guid=4959738550059603796" rel="nofollow,noindex">《代码大全》</a> 作者是 Steve McConnell</li>    </ul>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/92386da0064357ba6572c7398218e6ce.jpg"></p>    <h3>深入学习JavaScript</h3>    <p>几乎每周都有一款优于老框架的新JavaScript框架出现,这使我们很容易把大部分时间花在学习新框架而非语言本身上。如果你正在使用一个框架,却不知道它是如何运行的,一定要先停下来并开始学习语言本身,直到你理解了这个框架如何运行为止。</p>    <ul>     <li>你最好是从Kyle Simpson的 <a href="/misc/goto?guid=4958870941163577084" rel="nofollow,noindex">《你不知道的 JavaScript》</a> 系列书籍开始,也可以在线免费阅读</li>     <li>Eric Elliott为你需要在2017学习的JavaScript主题开出了一份 <a href="/misc/goto?guid=4959738550182093401" rel="nofollow,noindex">大清单</a> .</li>     <li>Henrique Alves 也提供了一个关于在使用React(实际上是任何框架)前需要具备的 <a href="/misc/goto?guid=4959738550262991736" rel="nofollow,noindex">知识列表</a></li>     <li><a href="/misc/goto?guid=4959738550347395617" rel="nofollow,noindex">《JavaScript Developers: Watch Your Language》</a> 作者Mike Pennisi ,可以了解TC-39添加ECMAScript新特性的进程。</li>    </ul>    <h3>学习函数式编程</h3>    <p>一直以来我们都希望JavaScript拥有类。现在我们终于拥有了,但我们却一点也不想使用,函数才是我们最想用的!甚至我们都用函数来写HTML(JSX)。</p>    <ul>     <li><a href="/misc/goto?guid=4959738550430477782" rel="nofollow,noindex">《Functional-Light JavaScript》</a> ,作者 Kyle Simpson.</li>     <li>Frisby教授的电子书 <a href="/misc/goto?guid=4959738550516200937" rel="nofollow,noindex">《Mostly adequate guide to functional programming》</a> 和 <a href="/misc/goto?guid=4959738550602943135" rel="nofollow,noindex">免费课程</a> .</li>    </ul>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/9f4003faa4b11dde3df6ae8480f6df9c.jpg"></p>    <h3>学习关于设计的基础知识</h3>    <p>作为前端开发人员,我们在团队中比任何人都要接近用户,甚至比设计师还要接近。当设计师不得不核对你页面上的每个像素时,说明你犯错啦。</p>    <ul>     <li>《Design for Hackers》: <a href="/misc/goto?guid=4959738550682686859" rel="nofollow,noindex">书</a> 和 <a href="/misc/goto?guid=4959738550767408663" rel="nofollow,noindex">免费课程</a> .</li>     <li><a href="/misc/goto?guid=4959738550846644664" rel="nofollow,noindex">《Design for Non-Designers》</a> , Tracy Osborn.</li>     <li><a href="/misc/goto?guid=4959738550933210392" rel="nofollow,noindex">《Design of Web Applications》</a> ,Nathan Barry.</li>     <li><a href="/misc/goto?guid=4959738551021441682" rel="nofollow,noindex">《On Web Typography》</a> ,Jason Santa Maria.</li>     <li><a href="/misc/goto?guid=4959738551103752556" rel="nofollow,noindex">《The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity》</a> ,Alan Cooper.</li>     <li>《A few articles on animation in UI》: <a href="/misc/goto?guid=4959738551182926199" rel="nofollow,noindex">如何使用动画去提升用户体验</a> , <a href="/misc/goto?guid=4959738551259182077" rel="nofollow,noindex">界面过渡效果</a> .</li>    </ul>    <h3>学习与他人合作</h3>    <p>我们中很多人都是因为更想与计算机而非与人交流而选择编程,但不幸的这样行不通。</p>    <p>我们平时很少是独立工作的: 大多时间都要同其他开发人员、设计师、产品经理,甚至有时同用户交流。 虽然很难,但是如果你真的想了解自己在做什么并且为什么这么做,这就很重要了,毕竟这才是我们所做工作的价值所在。</p>    <ul>     <li><a href="/misc/goto?guid=4959738551344136859" rel="nofollow,noindex">《软技能: 程序员生存手册》</a> ,John Sonmez.</li>     <li><a href="/misc/goto?guid=4959738551427275655" rel="nofollow,noindex">《程序员的职业素养》</a> ,Robert C. Martin.</li>     <li><a href="/misc/goto?guid=4959738551511096158" rel="nofollow,noindex">《从无到有》</a> ,Jim Camp.</li>    </ul>    <p style="text-align: center;"><img src="https://simg.open-open.com/show/a86fb02cbccca275a3c8e926b2494f7e.jpg"></p>    <h3>学习为人写作</h3>    <p>我们日常与同事和其他人的大部分交流都是文字性的:任务描述和评论、代码注释、Git提交信息、聊天信息、邮件、tweets博客文章等等。</p>    <p>想象一下人们需要花费多少时间来阅读并理解这些内容。如果你能够通过写的更加清晰简明来减少这些时间耗费,工作氛围肯定会变得更棒。</p>    <ul>     <li><a href="/misc/goto?guid=4959738551596366637" rel="nofollow,noindex">《论优良写作》</a> ,William Zinsser.</li>     <li><a href="/misc/goto?guid=4959738551676004817" rel="nofollow,noindex">《风格的要素》</a> , William Strunk 和 E. B. White.</li>     <li><a href="/misc/goto?guid=4959738551752950206" rel="nofollow,noindex">《Orwell的写作法则》</a> .</li>     <li>在俄罗斯,有非常棒的 <a href="/misc/goto?guid=4959738551834473895" rel="nofollow,noindex">Glavred课程</a> .</li>    </ul>    <h3>学习传统的计算机科学知识</h3>    <p>前端开发不再是做简单的下拉菜单动画。它的复杂度达到了前所未有的程度,由于前端解决的问题越来越复杂,不可避免地出现了让人深恶痛绝的“JavaScript疲劳症”</p>    <p>因此,我们需要去学习非前端开发人员在过去几十年积累的计算机科学知识。同时,也希望听到你们的建议。</p>    <p> </p>    <p>来自:http://www.css88.com/archives/6901</p>    <p> </p>