终于又有点心得了,这几年不容易啊,干货走起

如果有一种技术是教你怎么学习的,你愿意拿下不?

记得几年前读Opencart源码时那叫一个蒙逼,一头雾水,启动文件之后,再无从看起。想起这个问题,我就想起了当初为什么要学习一款框架了,我先随一个朋友学yii,在yiichina网站上泡了几个月都没有一点成绩,就断了,因为太coding化了。

现如今,经历了几个项目之后,才知道,有道才是真正的会。老子说:“有道无术,尚可求;有术无道,止于术”。什么叫学会?就是学会了道,能衍生出千变万化的术之后才叫学会了。

我仅从web编程来分析什么叫道。

  1. 一切的用户输入都是不可信的,包括你自己。(验证)我们在开发的时候,要求用户输入的部分,是需要验证的,不光只前端验证,后端还要验证,这叫双管齐下。
  2. 当所有的输入都正确后,还是不能够将程序完成。(分析)我们接收到用户的数据后,还需要进行分析,这个是否合法?这就进入了二次验证阶段。
  3. 尝试完成工作。(小心求证)我们把能够符合要求之后的信息进行处理,这其中就会有各种各样的问题,总的来说就叫异常。如果一个程序异常千变万化的话,那么就需要认真想想,是不是还没想明白怎么写。
  4. 完成工作之后。(反馈)记住,符合预期的反馈也叫一异常,只不过是符合我们要求的异常而已。我们把符合要求的信息进行过尝试存档,是不是会出现失败,还是成功?

这里引入一个非常重要的关键字:异常。

重要的事情说两边,所有的工作都有异常,不可否认,错误的消息是异常,正确的也是。为什么?因为我们计算机反馈回来的正确消息也是异常,只不过是正确的异常(符合预期的异常)。很多编程的书籍都有符合预期这个词儿,也充分证明了我的说法。

有了上面的这些方法,我们就可以完成某一个小功能的开发了,正因为有了这些方法,才能让我们快速的不迷茫的写东西。时间长了这样还是不行的,为什么呢?程序是为了给计算机看的,但更重要的是程序还需要有人来维护的,所以给人看这个因素不能不考虑。

原本、这上面所有的操作都可以在一个文件里完成的,所以你大可以一个功能写一个文件,包括验证、分析、存储。还有反馈。当你辛辛苦苦的学完每一个知识点之后,准备大干一场的时候,你发现了很多问题。

  1. 你发现同一段代码需要复制很多变
  2. 你发现乱七八糟,刚开始还可以看懂,后来,你自己也蒙逼了。
  3. 当你发现这些问的时候,去下载一些优秀的源代码,发现原来我只是门外汉。
  4. 诸如此类……

其实,这些就是问题点。有人跟你聊天说,多段代码需要重复的时候,请抽象出来作为公共代码;有人跟你聊天说这根本不可维护,请分开文件存放代码;有跟你聊天说,你要去看看别人优秀的源代码。

有了上面这些乱七八糟的问题之后,咱们写东西的时候就不能一锅炖了,我们需要把不同的用途的代码分门别类的归类到特有的层次当中去,

这就有了MVC概念,当然这个话题不在本文讨论,这里只做文字意义上的描述。这个MVC当初就是为了我说的这些进化而来的。

由此可见,在实践当中的学习和总结该有多重要,总结归纳的东西就叫做道法,用这些道法衍生出来的术就可以应对各种场景需求。当然,还有更多的方面的知识,我们这里不做论述。后面我会逐步丰富知识,然后总结归纳起来。

成长建议:

  1. 多读书
  2. 多读书
  3. 多读书
  4. 多锻炼
  5. 多锻炼
  6. 多锻炼

参考文献

1、参考书目《FLASK web 开发实战》

2、参考教材《singwa 的 thinkphp 源码解析》

相关文章