前端开发者,2017 年你应该学习什么

简介:

image
在当今的快节奏生态中,我们都倾向于花时间尝试最新的发明,然后在网络上进行激烈的辩论。

这里,我并不是说我们不能这样做。但我们的确应该把脚步放慢一些,并认真了解那些不会有很大变化的事情。这样不仅会提升我们的工作质量和我们所创造的价值 —— 还将切实地帮助我们更快理解这些新的工具。

本文融合了我的个人经历以及对新一年的希冀。正如我想热切表达自己想法一样,我也期待能在下方的评论表单中看到你的建议。

学习如何写出可读性高的代码

我们多数的工作并不是编写新代码,而是维护已有代码。这意味着你最终阅读代码的时间要比编写它所花费的时间要长,所以你需要为之后需要阅读你代码的程序员优化代码,而不是为了解释器。

这里我建议你按以下顺序 — 由浅入深 — 阅读下面三本书:

Dustin Boswell 的 《编写可读代码的艺术 The Art of Readable Code》

Robert C. Martin 的 《代码整洁之道 Clean Code: A Handbook of Agile Software Craftsmanship》

Steve McConnell 的 《代码大全 Code Complete: A Practical Handbook of Software Construction》

image

深入学习 JavaScript

现如今,每周都会出现一个新的 JavaScript 框架,并标榜自己比其他的任何旧框架都要好用。这样的情况下,我们很多人更倾向于花费时间来学习框架,而且这样也要比学习 JavaScript 本身要容易的多。如果说你正在使用框架,但并不了解该框架的工作方式,立刻停止使用它,并去学习 JavaScript,直到你能够理解这些工具的工作方式为止 。

可以从 Kyle Simpson 的 你所不知道的 JavaScript 系列开始,这个系列可以在线免费阅读。

Eric Elliott 列出的一个长长的 2017 年:JavaScript 的学习目标。

Henrique Alves 列出的 进行响应式开发之前必须了解的事情(实际上就是一个知识框架)。

Mike Pennisi 的 JavaScript 开发者:注意你的语言 — 了解 ECMAScript 新特性的中 TC-39 发展过程。

学习函数式编程

多年以来,我们一直期待着 JavaScript 引入类,但真正引入类之后,我们却不想在 JavaScript 中使用类了,我们只想使用函数。我们甚至使用函数编写 HTML (JSX)。

Kyle Simpson 的 轻量级函数式 JavaScript。

Frisby 教授的 函数式编程完全指南 和 在线免费课程。

image

学习设计基础知识

作为一个前端开发者,我们比这个生态中的任何人 —— 甚至可能是设计人员 —— 都要更加接近用户。如果设计者必须去确认你还原在屏幕上的每一个像素,你或许做错了某些事。

David Kadavy 的《黑客设计Design for Hackers》或对应的 免费课程。

Tracy Osborn 的讲座:为非设计人员的设计知识。

Nathan Barry 的 《Web 应用设计Design of Web Applications》。

Jason Santa Maria 的 《Web 页面设计On Web Typography》。

Alan Cooper 的 《交互设计之路:让高科技产品回归人性The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity》。

两篇关于 UI 动画的文章:如何使用动画来提高 UX、过渡界面。

学习如何与人协作

有些人很喜欢通过编程来与电脑进行交互,而非与人进行交互。不幸的是,这样的结果并不是很好。

基本上我们不可能完全脱离群体来工作:我们总是需要和其他开发者、设计师以及项目经理 —— 有时候甚至要和用户 —— 交换意见。这是比较难的任务,但如果你想要真正理解你在做什么以及为什么要这么做的话,这一步是非常重要的,因为这正是我们工作的价值所在。

John Sonmez 的《软技能:代码之外的生存指南Soft Skills: The software developer’s life manual》。

Robert C. Martin 的《代码整洁之道:程序员的职业素养The Clean Coder: A Code of Conduct for Professional Programmers》。

Jim Camp 的 《从零开始:专业人士不想让你了解的谈判工具Start with No: The Negotiating Tools that the Pros Don’t Want You to Know》。

image

学习如何为用户编写代码

与同事或其他人的交流大部分是以文本的形式进行的:目标描述和评论、代码注释、Git 提交、即时聊天消息、电子邮件、推文、博客等。

想象一下,人们要花费多少时间来阅读和理解所有以上提到的这一切。如果你可以通过写得更清楚、简洁来减少这个时间,世界将变成一个更好的工作场所。

William Zinsserd 的《写作法宝 : 非虚构写作指南 On Writing Well: The Classic Guide to Writing Nonfiction》。

William Strunk 和 E. B. White 的《英文写作指南 The Elements of Style》。

奥威尔写作规则。

俄文:很好的 Glavred 课程。

学习以前的计算机科学智慧

前端开发已经不仅仅简单的下拉菜单了,它前所未有的更复杂了。随着我们所需解决问题的复杂度越来越高,声名狼藉的“JavaScript 疲乏症”也随之出现了。

这意味着现在需要学习非前端开发人员过去几十年所积累形成的知识精华。而这也是我最想听到你向我推荐的内容了。

以下是我个人给大家的推荐:

Coursera 的 《学习像计算机科学家那样思考方式Learn To Think Like A Computer Scientist》。

DHH 的 对我意义非凡的五本书。

文章转载自 开源中国社区 [http://www.oschina.net]

目录
相关文章
|
2月前
|
前端开发 JavaScript 开发者
从零开始学习前端开发
前端开发是目前互联网行业中最为热门的职业之一。本文将介绍从零开始学习前端开发所需的基础知识和技能,包括HTML、CSS、JavaScript等方面的内容,并提供了一些实践性的建议和学习资源,帮助初学者快速入门。
85 1
|
3月前
|
前端开发 JavaScript
从零开始学习前端开发
前端开发是当前最热门的技术之一。本文将从零开始,详细介绍前端开发的基础知识和实践技巧,为初学者提供全面的学习指南。
30 0
|
3月前
|
设计模式 前端开发 算法
No210.精选前端面试题,享受每天的挑战和学习
No210.精选前端面试题,享受每天的挑战和学习
No210.精选前端面试题,享受每天的挑战和学习
|
3月前
|
消息中间件 缓存 前端开发
No209.精选前端面试题,享受每天的挑战和学习
No209.精选前端面试题,享受每天的挑战和学习
No209.精选前端面试题,享受每天的挑战和学习
|
3月前
|
前端开发 JavaScript Java
No208.精选前端面试题,享受每天的挑战和学习
No208.精选前端面试题,享受每天的挑战和学习
No208.精选前端面试题,享受每天的挑战和学习
|
2月前
|
存储 开发框架 前端开发
从零开始学习前端开发
前端开发是现代互联网应用程序开发中不可或缺的一部分。本文将带您从零开始学习前端开发,包括HTML、CSS和JavaScript等核心技术,以及常见的开发框架和工具。
|
3月前
|
Web App开发 前端开发 JavaScript
从零开始学习前端开发
在当今数字化时代,前端开发人员的需求越来越高。本文将介绍从零开始学习前端开发所需学习的技能和工具,以及如何将这些知识应用到实际项目中。
|
3月前
|
前端开发 JavaScript 开发工具
从零开始学习前端开发技术
随着互联网的快速发展,前端开发成为了一个备受关注的职业。本文将从零开始介绍前端开发所需的基础知识和技能,并重点介绍常用的HTML、CSS和JavaScript语言,帮助初学者快速入门前端开发。
36 0
|
3月前
|
存储 JSON 前端开发
No206.精选前端面试题,享受每天的挑战和学习
No206.精选前端面试题,享受每天的挑战和学习
No206.精选前端面试题,享受每天的挑战和学习
|
19天前
|
前端开发 JavaScript Java
通过学习mayfly,我学会了前端如何优雅设计字典值
`shigen`是一位擅长多种编程语言的博主,他在探索[mayfly-go](https://juejin.cn/post/7319365035552309248)项目后,发现了对枚举值管理的优雅设计。他分享了如何将字典和枚举值结构化,使用Vue+typescript实现更易维护的代码。通过创建`TagType`和`EnumValue`类,以及提供静态方法,实现了模块化和简洁的字典处理。示例展示了如何在页面中高效引用和显示字典数据,提高了代码的可读性和可维护性。
17 3
通过学习mayfly,我学会了前端如何优雅设计字典值