设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 2013|回复: 0
收起左侧

论一个前端开发者的自我修养——南京Web前端培训分享

[复制链接]
发表于 2017-2-23 16:07:45 | 显示全部楼层 |阅读模式

  今天南京万和Web前端培训要给大家分享的主题是前端的自我成长,这是一个关于成长的话题。这里讲的内容,希望带给大家的,就是该如何学习前端,实现自身成长。


                               
登录/注册后可看大图

  虽然前端是个非常有“钱”景的行业,但同时前端其实也是个特别苦逼的职业,因为前端技术一直革命的特别快,新技术、新技巧在不断地被发明出来。很多从事前端的朋友在工作中觉得自己对前端所有的东西觉得无所不知,无所不能的时候,忽然看到了一段代码,就完全无法理解了。但是又没法系统学习前端,大学里不开这个课。到目前为止,还没有任何一个大学会教前端,倒是有些培训班,会开设Web前端课程(比如我们江苏万和就有哦)。


                               
登录/注册后可看大图

  关于成长,首先万和这里得发一个免责声明,成长是自己的事,英文有句话,在外企工作的人会经常听到,叫做:

  You are the owner of your career.(你是你职业发展的责任人。)

  我们讲前端成长,南京万和Web前端培训认为,主要在两个方面,一部分是“能力”,一部分是“知识”。能力占百分之八十,知识占百分之二十。


                               
登录/注册后可看大图

  从这个图上,大家可以看到,其实我们认为变化快的东西,最新出来的 Angular、React、ES2015,其实都在知识里面,知识又分成两部分,一部分我把它叫做标准,它是相对而言比较稳定的,很少会出现一个标准被推翻的事情。另一部分则是技术,像是 jQ、React 这些框架啦,像是 MVC、Flux 这些架构的东西,这些东西是由各个公司主导的,变化就非常快,你看 Grunt 发展了没多久,Gulp 就来挑战他了,然后又有 browserify、webpack 这些东西。

  而南京万和Web前端培训认为占重点的能力,则是非常稳定的,能力是三大块:编程能力、架构能力、工程能力。

  编程能力,就是用代码解决问题的能力,你编程能力越强,就能解决越复杂的问题,细分又有调试、算法、数据结构、OS 原理等这些的支撑,你才能解决各种麻烦的问题。

  架构能力,则是解决代码规模的问题,当一个系统足够复杂,你会写每一块,能解决每一个问题,不等于你能搞定整个系统,这就需要架构能力,架构能力包含了一些意识,比如解耦、接口隔离,也包含认识业务建立抽象模型,也有一些常见的模式,比如经典的 MVC,还有设计层面,面向对象、设计模式等等。

  最后工程能力,则是解决协作的问题,当系统规模更大,光靠一个人,是没办法完成的,如何保证几个高手互相能够配合好?如何保证项目里面水平最差的人不拖后腿?这个工程化建设,往往会跨越多个业务,以汇报关系上的团队为单位来做。包括前后端解耦,模块化,质量保证,代码风格,等等。

  其实不难看出来,这三项,其实是有顺序的,低等级、小团队,编程能力一项就能应付,越资深的前端,越大的公司和团队,越是需要后面的技能,但是这里我要强调一点,其实资深前端,大团队,对能力的需求,是既要还要——不是说资深的前端,编程能力就可以变差。

  下面我们来具体讲讲,关于知识的学习。


                               
登录/注册后可看大图

  对知识,万和认为宁缺毋滥,这个图片上写了一句好前端才分对错,是的,其实很多人,他学习东西的时候就喜欢挑,挑简单的学,书选择最“深入浅出”,在这种心态下,没有任何一丝学好的可能性。

  所以南京万和Web前端培训对知识学习的目标,理解为两点,一是准确,二是全面。怎么做到这两点呢?万和这里要分享的,是“建立自己的知识体系”。

  如何建立自己的知识体系呢?根据经验总结,是下面几个步骤:

  第一步,寻找线索。

  你要了解一个知识,比如你想学 Web 平台的 API 了,当然可以先找一本书,看看别人都写了什么,但是南京万和Web前端培训比较推荐,找一些比较准确的,你可以确定它真的足够全面的资料当作线索。对 Web 平台的 API,你可以用反射:


                               
登录/注册后可看大图

  浏览器里给出来的这个属性列表是不会骗人的,用这个东西作为线索,是不是就很有信心呢?

  同样可能比较适合做的资料,还有一些标准文档的附录,和源代码里的结构定义。

  第二步,是建立联系。

  比如说,看下面几个 DOM 属性:


                               
登录/注册后可看大图

  这里,左边一列是操作 Node 的,右边一列是操作 Element 的,它就存在一定的对应关系。

  一般来说,我们找对应关系的方式有以下几个依据:

  ◎美感

  ◎完备性

  ◎操作同一组数据

  特别提一下,操作同一组数据,正是面向对象的核心概念,对前端而言,有点不一样的是,所有的 API,根都是 window,所以,其实大部分的 API,可以依据面向对象的数据和操作的观点进行划分。

  第三步,是分类。

  这里南京万和Web前端培训给出一个实际一些的例子,下图是对 zepto(移动简化版jQuery)的 API 分类


                               
登录/注册后可看大图

  建立联系以后,我们依据知识之间的联系进行分类,就可以得到一张图谱。在这个图里面,你就可以非常清楚地知道,哪些知识,是非常重要的,哪些,其实是可以互相替代的。

  而一旦有你之前没见过的东西,你又能通过把它放到图谱里,来快速理解它,或者找出一些很好的替代方案。

  比如说面试的时候,如果面试官问你 bind 和 unbind 怎么用,你还不会。这时候,如果你心里有这张图,你就不至于一脸懵了,你可以说,虽然我不知道 bind 和 unbind,但是我知道 live 和 die 啊,我又知道 on 和 off 啊。

  这张图里我们就可以看出,collection 里面的东西,多半没什么用,而节点操作里,肯定就都很有用。

  第四步,是追本溯源。

  当你对一个知识体系的全貌有了概念以后,占了全面两个字,接下来需要确认它的准确性。很多知识,会有很多的争议,该相信谁呢,这是个问题。这个时候你可以采用追本溯源,去找它最初的讨论和定义。

  除了 wiki-google 学术搜索的组合,还有一些邮件列表和 github 提交历史,也是非常适合去查证一些概念和技术的历史的。这个追溯的过程,能够帮我们真正搞清楚对错。

  最后说,南京万和Web前端培训这里讲的这个建立知识体系的过程,是不断接受新知识,挑战、质疑原有的体系,推翻再重建,每一次循环,你的知识体系都变得更加坚固,更加强大。


                               
登录/注册后可看大图

  下面分享的一部分,是关于能力培养。


                               
登录/注册后可看大图

  能力培养其实重要性很高,但是其实说起来,内容却很少。只有两点: 教材、训练。

  对知识学习,南京万和Web前端培训是主张建立自己的体系,不要去相信书,但是对能力培养,南京万和Web前端培训认为能力的体系,恰恰是难以自己建立的,需要教材去指导。这是由两者的复杂程度和变化速度决定的。

  想培养能力,就要找经典的教材来学习,像算法导论,The C++ Programming Language这些经典,几十年都没有过时。注意这里南京万和Web前端培训用了教材,而不是书。

  教材和书最大的区别,就是有没有习题。内容再难的书可以一星期读两本,但是教材一定不行,教材一定得花几个月的时间,一边读一边做习题。

  这里南京万和Web前端培训顺带说一下训练。训练应该是系统的(需要教材)、主动的,这两个特点不可或缺,有人会觉得,我真的工作很辛苦,每天都要加班,但是其实,任何被动的痛苦,都没法给人带来进步,你的痛苦倒是可能给老板带来更多收入。

  如果面临困境,可以选择系统训练来提升自己,但是对大部分人来说,可能更乐于选择一个变通的办法: 养成习惯,让工作变得更有挑战。

  这个事情其实有不少理论,比较有名的是 Noel Tichy 提出的心理舒适区、学习区和恐慌区。选择一份对自己来说具有挑战性的工作,正面解决问题。

  技术圈里流行一个笑话,说的是一个人,工作了三年,却只有一年的经验,因为后面两年都在重复第一年的工作。

  所以我们要做的事,就是永远不重复劳动,当你觉得现在的工作,越来越舒适,越来越缺少风险的时候,就应该引起警惕了。

  而虽然训练是个很困难的事情,其实大家也不必过于担忧,虽然到处都是“一万小时训练”的言论,现在各大公司的招聘门槛,在我看来应该都卡在几百小时训练的程度。所以江苏万和想说,一万小时太久,只争朝夕。希望大家能成为更好的前端,做更好的自己。

  以上是南京万和Web前端培训分享的所有内容。


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-23 06:35 , Processed in 0.057627 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表