编程思维-程序员要养成怎么样的思维模式

首先,如果把编程世界形容为大海,我自身感觉自己就是一个连腿都没有入水的人,写这篇文章,只是希望以后某天来纠错,目前仅供参考

当有问题,就想去解决总结,无意中看到编程大牛都有一套编程思维,作为现在的菜鸟,我也在考虑什么是编程思维.

逻辑性强:这个毋庸置疑,程序的运行就是按照我们程序员的逻辑代码进行流程运行,什么是逻辑性,打个比方,如果小明每天都去上班,那么他可能会乘坐地铁,公交车或者出租车,也有可能会开车,这就是一个简单的逻辑性,我们推算出了小明去上班这段路的必要交通工具,如果你上来没有想到小明是骑着魔法扫把去上班,那么我觉得你的逻辑就不错.每个程序员都要具备基本逻辑常识,有些代码开发中,经常就是一个简单的逻辑问题,导致系统上线出现问题.

逻辑思维是一个比较全面的概念,我们上面讲的例子只是其中简单的一个点,中医讲究望闻问切,我们开发程序也一样,首先第一步就是观察某个代码实现的最终效果,然后分析代码需要多少个模块组成,对于新手最难的一步是将自己的思维清晰表达出来,逻辑思维,清晰表达是最基本的技能,如果表达不出来,就像是一台电脑,可以打字,但是永远无法保存自己输入的内容.这一块就需要锻炼了,我是下了一个思维导图,每天锻炼画流程图,来解释一个模块,或者别人的代码.试想一下,这样还不能提高自己的编写代码能力吗?你看到别人写了一个发送验证码的类,你自己去画图,画了一张要实现这个代码的逻辑流程图,并且每天去坚持,没有道理不成功吧.

逻辑的判断是需要科学依据,小明永远也不会骑着魔法扫把去上班,至少在2021年的今天他还做不到,我们不能异想天开,所有的逻辑判断我们要符合自然科学,如果看到一个逻辑复杂的流程,我们可以从繁化简的去解决,比方说,我们来了一个订单是制作航空母舰,我的天呢,这个需求太复杂了,我实现不了,当然是实现不了,没有科学家是一步就造出了航空母舰,我们需要把航空母舰进行拆分,第一要素,是飞,第二要素是什么动力支持他飞,还有后期的稳定性,航道计算,其他因素的影响,拆分下来,一条条去实现,然后配合不断实践,1年做完,飞天失败,2年做完继续失败,20年后,你忽然发现成功了.

 对于由繁化简,我觉得这个应该算是基本常识,我们知道程序最终要实现什么效果,比如我们知道一个汽车是足够完善的服务我们10几年,一脚油门就可以跑,没有任何会傻到说,我制作汽车,就是汽车,而不用把它的零件划分,去逐个实现,上来就要出一整台车,这是扯淡.所以我觉得每个程序员都要记住怎么拆分一个复杂的系统流程,或者模块,怎么去把它肢解,事情变得有点恐怖了...

然后我们回来看我们的编程,笔者刚刚学习了typescript,以及bem命名规则,对于这两块的学习,我是深入的,深入到什么地步,就拿bem命名规则来说,我在俄罗斯引擎找到官网,打印了官方的资料,不眠不休的研究了整整四天.您可能不知道bem是什么,说简单点就是一个命名规则,比如可以给html元素命名,通过块,元素,描述来实现一个html元素的命名,就这一句话可以概括了我四天的研究结果,但我觉得不浪费时间,他让我懂得了,编程也是一门艺术.

为什么说编程是一门艺术,本身我是一个比较邋遢的人,我在bem命名规则中看到了,如果变得整洁,可维护,为后期带来方便,如果你常常把代码写的一团糟,就像对自己一样,懒得收拾一下自己的代码,那么就像是在制作一个飘着热气的dog shit,让人难以下咽,以至于回头来看自己的代码,这里是什么,那里是什么,然后大脑就像内存不足,直接死机.我懂了这点,默默的把自己的小工作室收拾了一下,干净下来之后,我告诉自己,以后对代码也这样,整洁一些,干净一些,别到以后自己吃了自己做的dog s....

上面我还介绍我学了typescript,学完之后再看javascript,感觉就不一样了,自己大约做了N年C#开发,从来没有像学完typescript后这么强烈的想要总结编程思维,因为我迫切的想知道代码到底是什么,学完后我可以总结了,代码是严谨的,javascript里定义的变量可以是各种类型,比如string,number等,没有强制约束,属于一种弱类型语言,typescript比较简单,因为我本身会C#,所以看他和复习一样.typescript是javascript的一种拓展,最后做出来的还是js,但是里面可以强制约束类型,比如一个变量是string,那么你再给他赋值,就会报错.

如果没有typescript,我们写的js可能后期很难理解,在开发中也可能会出现一个小失误,导致bug,有了typescript,js的开发更像是一种高级语言,不管他是什么,总之对于js开发者来说,在没有了解typescirpt,是否面临过困惑,因为js是一个不限制类型的语言,比如a可以是一个number类型,也可以是一个string类型,从而使得代码不这么严谨,也使得写代码增加了很多随意性.

最后总结一下,做程序开发养成好习惯是非常重要的,其实代码很简单,不就是把一个事务流程去实现出来吗?只是有些概念必须得学习,多动脑,多动手,锻炼自己的表达,以及逻辑变现,然后通过严谨,艺术的代码去呈现一个片段.或许之后我还会了解更多东西,比如算法还有更底层得东西,总之学无止境.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容