当前位置:网站首页>如何建立编程思想和提高编程思想
如何建立编程思想和提高编程思想
2022-08-11 09:57:00 【小何在线】
一.首先,什么是编程思想?
编程思想是一种指导思想,这个指导思想,将会诱发你如何写代码的行为。
如果理解这话的意思呢?打个比方,中华文明千百年在民众心中形成了一个“统一天下”的思想,这种思想会诱发各个混乱时期的诸侯或者军阀,以统一中国为目标,而不会像欧洲一样以分裂中国各自独立、各自称帝为目标。
那么编程思想有哪种种类呢?
1)面向过程编程。这是我国绝大部分程序员的思想。这种思想诱发了他们写代码的时候这样的现象:一个方法中写了糅杂了很多的业务逻辑,或者从ui层(点)业务逻辑层(点)数据库访问层这种路径的写法。
2)函数编程。典型的如很多人写的javascript中的function函数。各种业务就以各种很多的function进行编写。
3)面向对象编程。这是比较高级和抽象的思想,它具有三大特性五大原则。即封装、继承、多态,单一、开闭、里氏替换 、依赖倒置、接口隔离。
话外:有些人会告诉你数据结构、算法,我要跟你说的是,那不是编程思想,是编程能力,考验你的逻辑运算能力,你越出色,那么你应对的复杂科技领域就可以更加深入,最终你可以达到科学家的范畴。
二、编程思想的优劣和选择。
面向过程和函数编程,是每一个刚毕业的毕业生就会的原始思想。即,只要学习了编程,那么他一开始写的代码,就是这种思想,不需要教,就会的。
而面向对象编程,则是进阶抽象的。本质上来说,一个程序员的进化,实际上是面向对象编程思想的培养、形成、发展、成熟的过程。
所以,你现在应该知道最优的思想是什么,没错:面向对象。
三、如何建立编程思想
首先,你要时刻谨记面向对象的三大特性五大原则,那几个字,你是很熟悉的,但你绝对不认识他里面所蕴含的恐怖威力。即:你认得到字是一回事,理解和运用它是另一回事。
然后,你要在你的实操过程中,时刻思考你是否用上了它的特性及原则。
最后,不断的尝试去修正和更改你的代码,慢慢的,你的面向对象编程思想将会开始建立。
四、如何练习、训练和提高编程思想
1.通过学习设计模式。
刚开始的时候,你自己不太可能有对象思想,因为你还未形成对象思维,此时,你需要借助前人的模式总结,不断的练习,通过为模式而写模式的训练去提高它。
2.通过不断的重构已编写好的业务逻辑代码,这需要大量的实践,使他能够让你自己觉得符合三大特性五大原则。
3.评判一个代码你写得好不好,符不符合对象编程思想,有一个非常简单和粗暴的标准:
你的方法体,去除注释,如果你能够让你的每一个方法的逻辑,他的方法体代码行数不高于30行,那么你估计就是写的有成效的。如果你能够发现你的很多方法体,代码行数仅仅只有10行以内个位数的代码时,你的面向对象编程思想已经成熟。
4.将代码思维持之以恒。
通过不断的实践练习,改变你原来天生的过程式编程思想,这需要一个漫长的过程,从我的实践经验来看,至少要3年以上的实践训练,所以从此意义上来说,5年以下的中国程序员99%都不会面向对象。当你不再为模式而写模式时,你随手写的代码是如此的简洁美妙时,你已经比中国95%的程序员牛B了。
边栏推荐
猜你喜欢
随机推荐
【每日一题】640. 求解方程
神经网络图怎么分析,画神经网络结构图
【UOJ 454】打雪仗(通信题)(分块)
基于PSO在满足可靠性的基础上实现费用最优MATLAB仿真(含完整matlab代码)
工业检测深度学习方法综述
Software custom development - the advantages of enterprise custom development of app software
27岁了,目前从事软件测试,听些老一辈的人说测试前途是IT里最差的,是这样吗?
关于ts中的指针问题call,bind, apply
HDRP shader to get shadows (Custom Pass)
Dreamweaver网页作业——紫罗兰永恒花园动漫价绍网页 7页,含有table表格,js表单验证还有首页视频。以及列表页。浮
Open Office XML 格式中的 Style 设计原理
华为WLAN技术:AC/AP 实验
数据库事务
Array, string, date notes [Blue Bridge Cup]
清除微信小程序button的默认样式
Validate the execution flow of the interceptor
代码签名证书可以解决软件被杀毒软件报毒提醒吗?
Simple interaction between server and client
【Prometheus】 Grafana数据与可视化
Oacle数据库使用问题



![Array, string, date notes [Blue Bridge Cup]](/img/71/242804a93332fc545662b983f3aa2a.png)




