JS本身并不难,为什么前端学起来感觉很难?

这个问题我就不等大家的回答了,相信大家也明白,我并不是闲的无聊这么问。JS本身语法并不难,它困难的地方在哪呢?主要在于以下几点:

1,怎么样去把具象的问题抽象化?

就是面对一个很具体的需求时,例如时,,一个网上商城吧,它内部的各种交互纷繁复杂。那么你是如何入手去写呢?前端架构也是需要设计的,这就看你是否理解网上商城的业务,能否把各种情况都考虑到,如果出现各种问题,那么它们是如何引起的?

2,如何对于代码的复杂度的控制?

经常看到有人说,不能在一个function里写超过多少行代码,但实际开发中某个单一业务的复杂度就是必须要写那么多那么多的代码。这就要求具有良好的代码书写习惯和构思,做到在单一方法中易于维护、修改、升级。

3,过往代码的含义?

代码不是文字。3个月前你写的一段文章,你3个月之后再看,依然明白你写了些什么。但代码不是,很多时候不用3个月,3天之前你写的代码,3天之后你再看,你就完全不明白是什么意思了。

你看文字时,是直接读取含义。但你看代码尤其是别人的代码,(我只说我自己哈,牛人不算),多数时候要把它在脑子里翻译成中文,然后再把它们联系起来,才能明白这段代码的意思。但是,但是这段代码放在整个项目中是什么意思?谁在调用它?它是为处理什么情况而编写的?我依然是不知道的。这种情况在你加入一个已经存在的多人协作项目的时候,经常出现,你看半天都不知道别人写这段东西干嘛,然后不敢改不敢删的。

4,人脑的局限。

像你我这样普通人的大脑,基本上都很难像程序那样去处理一个N多变量的程序,无法做得到看一段代码,在脑子里把它的运算过程想一遍,就明白它是否有问题。人脑不擅长这个,就例如让你算一个288*193*435,你肯定要用计算器。咱不提那些神童,因为我们都不是。

程序要求所有的变量、代码都得是正确的,有一个错的,就是全错。但像你我这样的人,脑子里无法像内存那样去装载并模拟整个运算过程。其实就是脑子不够用,算不明白。所以需要调试嘛,需要console.log嘛,需要F5刷新看结果。所以生物的局限性导致编程天生就是困难的,这一点客观存在。

5,语言本身的问题。

就是JS它不是一个直观的自然语言。不能看到什么就说什么。首先要会语法,语法不难。但你要能够用JS语言描述你看到的问题和需求。这里就有一个适合和转换的过程。

JS语言难不难,就说这么多了,只是希望大家能明白它难在哪里。

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2016-08-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏nimomeng的自我进阶

探索命名之美(一)

很多新码农在工作中总会被老鸟批评程序命名的陋习,我也被批评过很多次。痛定思过,我决定要研究应该怎么命名,为什么要给函数一个好的命名很难,应该怎么样给函数命名。

1823
来自专栏数据结构与算法

主定理与时间复杂度

只好在网上找了一篇看起来不怎么严谨的博客,不过算出来的是对的?那就默认是对的吧qwq

2831
来自专栏我就是马云飞

优秀程序员写代码一定会用的 11 条经验!

我已经写了20年代码了,在此期间曾与17个团队共事过,使用不同的语言做过数百个项目。

1061
来自专栏WindCoder

Python学习四周小结-测试题篇

自从发现网易云课堂的计算机课程系列中有Python后就报名听了下,作为新人很快被其模式所吸引了,同时发现自己之前自学时的不足,那时由于没有作业等,自己只是根据《...

2452
来自专栏数据结构与算法

P1290 欧几里德的游戏

题目描述 欧几里德的两个后代Stan和Ollie正在玩一种数字游戏,这个游戏是他们的祖先欧几里德发明的。给定两个正整数M和N,从Stan开始,从其中较大的一个数...

3716
来自专栏企鹅号快讯

谷歌大牛的编程建议和技巧

编译:伯乐在线/PJing 【伯乐在线导读】:Rob Pike 是谷歌公司最著名的软件工程师之一,曾是贝尔实验室 Unix 开发团队成员,Plan 9 操作系统...

2389
来自专栏一个会写诗的程序员的博客

[zz]Kotlin 和 Checked ExceptionKotlin 和 Checked Exception

最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦定语言”,很多...

832
来自专栏我杨某人的青春满是悔恨

漫谈面向对象

这年头但凡是写过几行代码的,想必都不会对面向对象(Object-Oriented, OO)这四个字感到陌生。但什么才是面向对象,不知道又有多少人真正去思考过。有...

1527
来自专栏程序员维他命

如何提高代码的可读性? - 读《编写可读代码的艺术》

很多同行在编写代码的时候往往只关注一些宏观上的主题:架构,设计模式,数据结构等等,却忽视了一些更细节上的点:比如变量如何命名与使用,控制流的设计,以及注释的写法...

1121
来自专栏PPV课数据科学社区

是学习Java还是Python?一张图告诉你!

Java 和 Python 一直都是两种很火很强大的编程语言,对于刚开始起步学习编程的同学来说,会迷惑且最经常问的问题是,我该学 Java 还是 Python,...

3627

扫码关注云+社区

领取腾讯云代金券