好多人都认为,设计程序就应该按照计算机的那一套思惟方法去组织代码,由于这样的话 才可以真正的理解代码运行的真正意图,才能真正的去组织好代码,真的是这样吗?咱们有必要按照面对过程的那一套方式来写面对对象的代码吗?为何面对对象编程会成为高级语言的新宠,期间有啥奥妙或者玄机吗?今天这个文章就来扯扯怎么样组织代码的一些道道。程序员
作为程序员,咱们每天都在和代码打交道,知道程序员最惧怕什么?该需求?代码出现BUG?读晦涩难懂的代码?不对,程序要最怕的是一边读者晦涩难懂的代码,一边应付着需求的变动,而后最要命的是 这个该死的代码特么出现了BUG!!苦逼吧!!
编程
代码是写给人看的,让晦涩难懂的二进制交给底层去作吧!切记啊少年,假如你不想被骂成猪同样的队友的话!!框架
在高级的编程语言出现以前,计算机的历史上出现过不少各类各样的编程语言,而后他们慢慢的进化,进化,进化 而后编程了如今咱们可以看到的各类各样的语言。大概分析一下 一共有以下中类型。编程语言
一、机器语言,这种主要是给计算机看的,基本上没有任何一我的可以看明白,而且都是0和1的字符序列,编辑器
二、汇编语言,这个早期主要用于写在一个写汇编芯片里面,用来操做硬件和早期的一些游戏的,有N多个助记符,什么MOV,DPTR,JUMP这些个指令 学过计算机接口与原理的骚年们应该不陌生,这个语言基本没有通过必定时间的学习之后 也是不可能彻底看明白的学习
三、普通编程语言 这里说的普通编程语言是那些C等面对过程的编程语言,他比起汇编来,更加符合人的思惟,不过仍是广泛的按照计算机的执行顺序来编程,因此又被成为面对对过程的编程语言,什么叫面对过程的编程,就是我刚刚提到的 将全部解决问题的方法按照计算机的执行顺序来编写的语言 咱们均可以把它归到面对过程编程里来。编码
四、高级语言 这个很少少,就是面对对象的编程,这个更加会符合人的思惟习惯,这个没有任何异议吧spa
我为何要把这几种阶段的语言来比较 其实就是想和你们说明白一个道理就是,计算机编程,发展的过程就是愈来愈按照人都思惟去编程,是为了让代码给人看明白而摒弃晦涩难懂的部分。也就是说设计
“代码是写给人看的,并且是写给人能看懂的”这个是咱们写代码的指导原则或者说是哲学,或者是理论基础,不然任何的一个程序员都会被折腾疯掉的,业界良心啊。
对象
那么 既然咱们的计算机语言慢慢的发展,到了如今的这个地步,那么 这个过程告诉了咱们什么样的道理了?
“计算机语言到了如今这个地步,摒弃了晦涩可贵的细节,为的是让你尽可能简单的完成任务,编写出符合人类思惟的具备可读性的代码,人生就那么短暂的3亿多秒,不要浪费在写晦涩难懂的代码上,你的代码然你一看就明白,这样编码才有意义!”
那么咱们如何才能组织好咱们的代码了?
有不少的编程理论来支持咱们去编写高质量的代码。话说最值得借鉴的就是所谓的极限编程,反正这样的书有不少,你们不懂能够直接百度,我如今只想说明一个原则
无论你使用任何方式的编程方法去组织代码,你的目的就只有一个,那就是完成任务,而你所看到的是一系列的方法论而已,他只是告诉你 ,你若是按照这样的作法可以有什么样的效果而已,只是辅助完成你的任务而已,因此 方法论不要太看得重了,不然就会是你的绊脚石而已.
在你明白了方法论的真正意义以后,你就应该明白,那些个方法论只是一些些个辅助的东西。不要看得过重,假如之后有人再在你面前说这个理论,那个理论,你只须要呵呵一笑就好了,由于那些个方法论不必定适合你!!
说完了第一个话题,写出人可以看明白的话题之后,咱们看看第二个话题 代码如何组织才最有效?
不少人写代码有这么个习惯,一上来就喜欢拿着键盘一顿胡敲海写,不能说这样很差 也行有些人内心早就知道咱们的代码应该怎么写了。不过不少人和我同样,是一个菜鸟,可能没有那么多的经验,那么此时应该如何去构思咱们的代码结构了?我不直接说,给你们举个例子吧?
画画,你们都知道吧,特别是素描的时候,你看过那我的在素描的时候是先把对象的某一个部位话的很是的细致之后再去画其余部位的?没有吧,不少人都是先用笔随便勾画一个轮廓,再去慢慢的细画的,其实咱们组织代码也是同样的。话说咱们能够用文本编辑器去勾画咱们的伪代码(这个过程就和勾画轮廓是一个道理),而后再慢慢的完成这个轮廓里面的任何东西。那么就还有一个问题了,关于边界的问题,这个本身把握,我只是告诉你,你要先写伪代码,而后就和你上学的时候作填空题同样 把代码填写进去就好了,因此 接下来,你必定要生生的印在你的骨子里:
一、勾画你的程序轮廓,多写伪代码,最好是以这样的形式来“student.learn(math);student.answerQuestionFrom(MathTeacher);student.goBackTo(Home)”这样的代码,一看就知道是干什么的,而后你就这样写,不作具体实现。而后直到你满意为止,那么伪代码的过程就算完成了。
二、填充伪代码,这个就是作具体的实现,就是根据你的伪代码去填充一些个代码块,该有异常的抛异常,该判断的就判断,该怎么的就怎么样弄
三、提炼和抽象封装,这个不解释,不明白的看我前一篇文章,这样的目的就是为了完成复用 没有别的意思
有了以上三个步骤,基本能写出人能看明白的代码了,假如你看不明白,只有一种结果,那就是,你想坑你的队友!!
好了 其实码代码,只要你骚味有点人文关怀,我以为都能写出一些有良心的代码,无良程序员不在个人讨论方位以内。
若是有你什么好的博文方向,你也能够给我留言,反正我最近都是在看关于代码组结构方面的数据,我认为,假如还按照之前的那样呃编程方式,已经彻底不符合咱们现代编程的方向了。最后给你们推荐一本书,叫《实现模式》我以为做者写出来的不少的观点基本上好的代码里面也都有体现,不行你找几个开源框架的代码看看,那种国内的所谓的开源代码(固然也有好的,我博客里的那个就不错,开源的项目您就别看的,坑爹的很)。好了就这么多。下期的博客咱们再扯关于面对对像过程当中,代码运行的不二法门,绝对精彩 不容错过啊!!