前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何训练属于自己的编程思路 | 7月13日晚十点 微课文字版

如何训练属于自己的编程思路 | 7月13日晚十点 微课文字版

作者头像
web前端教室
发布2018-02-06 15:21:11
9420
发布2018-02-06 15:21:11
举报
文章被收录于专栏:web前端教室web前端教室

编程思想,这四个字博客精深,学起来近乎永无止境。例如JAVA编程思想,用了砖头那么厚的一本书,就为了写明白这四个字。

那编程思路呢?范围就小了许多。今天咱们聊这个的原因,还是那个老问题,学了半天JS,但面对一个需求的时候,不知道如何动手去做。没思路,怎么办?

在上一次的微课里,我给大家讲过,我说学前端往小处来讲,其实就是学习html,css,js。那么这一次的微课里,咱们再往深里讲一层,聊一下学习JS时,实质上是在学什么?

这个问题随便哪个同学都可以回答,学JS当然就是学JS脚本了,学它的语法,命令,函数,OO,原型等等,说的没错,这些确实是JS,要学JS肯定得学这些东西。

但试试再往深里想一层,这些东西是谁在指挥它们?

肯定又有同学回答,是我在指挥!那你为什么写不出来东西?这个问题在我看来就是你的脑子里还没有形成自己的编程思维方式。这种思维方式的缺乏,使你学到的JS知识没有方向,没有想法。

那么,什么是编程思路呢?定义有许多,我个人主观的理解就是,

1,电脑是一种自动化的工具,它只能理解相对抽像的逻辑;

2,想要用电脑来解决工作中的实际问题,那就要用电脑机器能够理解的方式,去描述和表达问题。

3,那么对问题的拆解并使用机器语言去描述清楚,就是编程思路了。

关于它的权威的定义我没有去查,咱们不在这个定义上面过多纠缠,有兴趣的同学可以自己去查资料。

编程思维方式有二种方法获得,一是学习;二是练习。要明白一点,编程思路这东西都是后天练成的,没人生下来天生就有。

学习的方式获得编程思路,那就是看书了,

算法,我觉得它就是以数学的方式去解决问题的方法。这个我不太懂,我也不多说。

数据结构,体现的就是结构化的数据,if啊,while啊,for啊,C里面都有体现。

设计模式,单独的看这本书未必能理解,因为它需要你有一定的工作量,做的多了才能理解,生搬硬套这本书上的东西,真的未必有好处。我以为的看这本书的正确姿势是这样,就是你做的东西多了,慢慢的在前端结构设计方面也有了自己的想法和体会,这时你再来看这本书,会发现有些东西和你想法很相似,这时你看这本书相当于是把你的思想做一个整理和归纳、提升。但一般情况下,这种学习环境只在大学里有,而在大学里,很少有人很把这几本书完全领悟,因为只看书学用处并不大。所以在这里也只是提一下。

练习的方式,直白的讲就是要多看多练,多体会。多看是说让你反复的看其它人的代码,国内的国外的,当然在最开始看的时候,你不明白为什么他们要这么写。这么写的想法是什么。因为代码都是为了描述真实世界的,你做的少,你就理解不了他写这个代码时的业务场景,他这么写可能是为了避开什么,也可能是为了预防什么。一时你看不懂的地方,就先跳过去往后看继续看。边看边工作,到一定时候的时候,你回过头来再看,你有时慢慢的就明白他这么写的一些原由了。

思维这个东西,是可以训练的。要不怎么传销能洗脑呢,这也是练出来的。所以我一向把工作当成一种收费的练习,例如用if解决判断问题啊,用for循环解决重复的问题,用递归解决不断调用自身的问题等等,这些在工作中常用的语句,其实都是一种对编程思维的训练。再往后还有更深的各种算法,设计模式,数据结构等等。

日常工作做的多了,确实是可以训练自己的编程思维方式。但日常工作基本都相对常规化,所以就有句话叫做,一年工作经验,用了十年。为了避免这种情况的发生,我们就要有意识的在工作之外,去主动的训练自己。简单的讲,就是要做习题,看代码,看业内相关文章,看到好的代码,例子,文章要反复仔细多看看。这其实就是在阅读其它人的编程思路。在咱们这行里,定义之类的东西多数都是靠不住的,还是自己理解的比较可靠。

再重申一下,咱们今天聊的是编辑思路,不是编程思想。但凡思路啊,想法啊,基本上都是经验积累、熟能生巧方面的,主要是一种量方面的积累。那么就一定会有一个从0到1再到10到100的过程的阶段。在这种阶段之中,量变引发质量的效应特别的明显。就是说,你可能从0到1这段过的特别艰难;然后从1到10这段感觉莫名其妙,没怎么着呢就过了;然后从10到90这段感觉完全没有任何变体,于是很多人在这一段就放弃了,或是停步了。很可惜,也很活该,真正的质变就在90到100这段。,因为真正的结果总是会在旅途的最后一段显现。不管从哪方面来说,这都是顺理成章的事情,收获总在最后嘛。我记得有个什么五多法则,多看书,多敲代码,多思考,多总结,多请教。说的就是这个意思。

要明白纸、笔,是个好东西。

从某种意义上来讲,写JS写代码,就是把你想说的话,你想做的事,翻译成JS,然后让机器能听懂。如果你JS写不出来,那就是想法不清晰。这时可以先用笔,对照着UI设计稿,一页一页的,把每一页要做的事情和多个页面之间的交互流程用文字写出来。然后再把它分成不同的段落。每一段归为一个方法,一个函数名。等你写到这一步的时候,你的思路基本上应该已经是清晰的了。

这个过程,就是需求分析。然后再用JS来把这些中文字重写一遍,这叫做实现

这次的微课基本上就是这些内容了,最后送一句话给大家,“重要的不是你喜欢做什么,而是要喜欢你正在做的事”。既然选择了这条路,那就彼此相伴,一路同行吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档