学编程,来源栈;先学习,再交钱
当前系列: 其他 修改讲义

说在前面:为什么“作业点评”这么重要?因为它是教你把代码写“好”。

自学编程,最大的问题:
· 一道一道的坎:开发环境 / 某个知识点:学
· 好坏判断:对错可以编译/调试,但好坏呢?:学


整个培训,价值从低到高排列:
· 教材/视频/资料
· 学习环境
· 作业点评:真正的一对一的讲解/批改


为什么把代码写“好”这么重要?
屎山代码 / 可维护性

怎么写好
1、性格:做事认真,完美主义,垃圾代码“辣”眼睛……(学习习惯)
2、训练:professional,代码就像《说明书》







终于把JavaScript的“闭包”和“立即执行函数表达式”讲完了。

老实说,讲这两个玩意儿还是比较有挑战性的,我本来是不准备讲的,因为性价比太低:理解他们非常烧脑,但实际应用的机会很少。(原谅我露骨的实用主义吧!O(∩_∩)O~)

但同学们一致要求,我也考虑到他们求职面试的时候多半会被问这类问题,所以还是决定讲一讲。

然而,我的一贯作风,可能也是思维定式了:要讲,就要讲透。这个“透”,不是去抠语法的细节、各种奇巧淫技,而是要讲明白:为什么要使用这些个技术

比如说,闭包把事情搞得这么复杂,究竟有嘛用呢?!

不可能就是整出来玩儿,整出来炫技吧?——虽然实际上很多人确实就是用这玩意炫技装逼,但它一定有它正儿八经的用处的。

网上又查了一遍,没几篇文章把这事讲清楚的,大家都是在介绍语法——至于这语法有什么用?嗯嗯,春秋笔法,一笔带过。

 

这其实就是我想做这个“零基础”培训的原因。无论是我们的IT职业培训,还是我们的计算机专业教育,长期以来都忽略了一个重要的问题:我们写程序,我们做开发,我们的目标是什么,我们追求的是什么?

几乎所有的课程都是以语言进行分类的,课程的内容就是教会你这门语言的语法,教授的方式就是按知识点从头开始罗列……很少有人会告诉我们:究竟该如何使用这些语法,利用这些语法我们期望写出来一个什么样的程序。

语法只要会就行?程序只要能跑起来就行?就没有一点更高的追求?代码之美,美在何处?编程之道,道在何方?

其实很多人是答不出来的。

所以,要么是在日复一日的重复劳动,要么是疲于追逐各种潮流技术,或者迷信数据结构算法之类的的所谓底层,找不到出路……

 

有同学问我编程这十年有什么经验可以分享给他们。其实我不过是一个文科生,27岁开始学习编程的时候,连Visual Studio都不会装……这一路走来,从在csdn得个小星星,到博客园发布《架构之路》系列,现在“一起帮”全栈开发线上直播,远算不上大牛,但也还是超过了很多人。

比他们强的那么一点点,或许就在于我一直在问为什么。从最初的底层实现,到项目的整体架构,每学一个知识点,我都会问:这个技术有什么用?为什么会推出这个技术?和现有技术相比它有什么优势……对于所有的新技术,不要急着否定,也不要盲目的跟风,把这些问题,翻来覆去的想清楚。想不清楚的先试着用一用,在用的过程中继续想,就这样一步一步地构筑自己的世界观。

比如,从ASP.NET WebForm,学会了“隔离”过后的整洁清爽;从DataSet,学会了“一次取多点”;从MVC学会了“返璞归真”;在大量的编码实践中,咀嚼“代码首先是写给人看的”“过早的优化是万恶之源”“Keep It Stupid Simple”,等等,等等。

 

不要仅仅满足“学会”,而更应该努力追求“做好”!

有人把写代码比作写文章,我觉得非常贴切。学会语法类库就像写字、组词或者造句;那学会了之后呢?如何更进一步?大处谋篇布局,小处如切如磋,讲究的是一个“好”字。

怎么才能把代码写好?这个问题太大太难,就像问这样才能成为一个大作家一样。

然而,有一点我觉得不会错:更主动一些,不要只是被动的接收知识,还要主动的思考这些知识的作用,以及如何运用这些知识。

从一开始,就养成这种习惯,然后在以后漫长的编程生涯中,点滴积累,上下求索,辩证实践,而证大道。



++++++++++++++

目录:讲课这些天

++++++++++++++



学习笔记
源栈学历
大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。

作业

觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 其他 中继续学习:

多快好省!前端后端,线上线下,名师精讲

  • 先学习,后付费;
  • 不满意,不要钱。
  • 编程培训班,我就选源栈

更多了解 加:

QQ群:273534701

答疑解惑,远程debug……

B站 源栈-小九 的直播间

写代码要保持微笑 (๑•̀ㅂ•́)و✧

公众号:源栈一起帮

二维码