当前位置:网站首页>如何建立编程思想和提高编程思想
如何建立编程思想和提高编程思想
2022-08-11 09:57:00 【小何在线】
一.首先,什么是编程思想?
编程思想是一种指导思想,这个指导思想,将会诱发你如何写代码的行为。
如果理解这话的意思呢?打个比方,中华文明千百年在民众心中形成了一个“统一天下”的思想,这种思想会诱发各个混乱时期的诸侯或者军阀,以统一中国为目标,而不会像欧洲一样以分裂中国各自独立、各自称帝为目标。
那么编程思想有哪种种类呢?
1)面向过程编程。这是我国绝大部分程序员的思想。这种思想诱发了他们写代码的时候这样的现象:一个方法中写了糅杂了很多的业务逻辑,或者从ui层(点)业务逻辑层(点)数据库访问层这种路径的写法。
2)函数编程。典型的如很多人写的javascript中的function函数。各种业务就以各种很多的function进行编写。
3)面向对象编程。这是比较高级和抽象的思想,它具有三大特性五大原则。即封装、继承、多态,单一、开闭、里氏替换 、依赖倒置、接口隔离。
话外:有些人会告诉你数据结构、算法,我要跟你说的是,那不是编程思想,是编程能力,考验你的逻辑运算能力,你越出色,那么你应对的复杂科技领域就可以更加深入,最终你可以达到科学家的范畴。
二、编程思想的优劣和选择。
面向过程和函数编程,是每一个刚毕业的毕业生就会的原始思想。即,只要学习了编程,那么他一开始写的代码,就是这种思想,不需要教,就会的。
而面向对象编程,则是进阶抽象的。本质上来说,一个程序员的进化,实际上是面向对象编程思想的培养、形成、发展、成熟的过程。
所以,你现在应该知道最优的思想是什么,没错:面向对象。
三、如何建立编程思想
首先,你要时刻谨记面向对象的三大特性五大原则,那几个字,你是很熟悉的,但你绝对不认识他里面所蕴含的恐怖威力。即:你认得到字是一回事,理解和运用它是另一回事。
然后,你要在你的实操过程中,时刻思考你是否用上了它的特性及原则。
最后,不断的尝试去修正和更改你的代码,慢慢的,你的面向对象编程思想将会开始建立。
四、如何练习、训练和提高编程思想
1.通过学习设计模式。
刚开始的时候,你自己不太可能有对象思想,因为你还未形成对象思维,此时,你需要借助前人的模式总结,不断的练习,通过为模式而写模式的训练去提高它。
2.通过不断的重构已编写好的业务逻辑代码,这需要大量的实践,使他能够让你自己觉得符合三大特性五大原则。
3.评判一个代码你写得好不好,符不符合对象编程思想,有一个非常简单和粗暴的标准:
你的方法体,去除注释,如果你能够让你的每一个方法的逻辑,他的方法体代码行数不高于30行,那么你估计就是写的有成效的。如果你能够发现你的很多方法体,代码行数仅仅只有10行以内个位数的代码时,你的面向对象编程思想已经成熟。
4.将代码思维持之以恒。
通过不断的实践练习,改变你原来天生的过程式编程思想,这需要一个漫长的过程,从我的实践经验来看,至少要3年以上的实践训练,所以从此意义上来说,5年以下的中国程序员99%都不会面向对象。当你不再为模式而写模式时,你随手写的代码是如此的简洁美妙时,你已经比中国95%的程序员牛B了。
边栏推荐
- Primavera Unifier 自定义报表制作及打印分享
- Have you encountered this kind of error? flink-sql writes to clickhouse
- VC6.0 +WDK 开发驱动的环境配置
- HStreamDB v0.9 发布:分区模型扩展,支持与外部系统集成
- Primavera Unifier custom report creation and print sharing
- 代码签名证书可以解决软件被杀毒软件报毒提醒吗?
- 腾讯电子签开发说明
- 关于ts中的指针问题call,bind, apply
- Software custom development - the advantages of enterprise custom development of app software
- 突破次元壁垒,让身边的玩偶手办在屏幕上动起来!
猜你喜欢

Huawei WLAN Technology: AC/AP Experiment

Primavera Unifier custom report creation and print sharing

Primavera P6 Professional 21.12 Login exception case sharing

Typora and basic Markdown syntax

【Prometheus】 Grafana数据与可视化

深度学习100例 —— 卷积神经网络(CNN)识别验证码

Validate the execution flow of the interceptor

nodejs worker_threads的事件监听问题

Oacle数据库使用问题

深度学习100例 —— 卷积神经网络(CNN)识别眼睛状态
随机推荐
How to use QTableWidget
【无标题】超时超时超时超时超时
Unity shader test execution time
软件定制开发——企业定制开发app软件的优势
Dreamweaver网页作业——紫罗兰永恒花园动漫价绍网页 7页,含有table表格,js表单验证还有首页视频。以及列表页。浮
The mathematical knowledge required for neural networks, the mathematical foundation of neural networks
深度神经网络与人脑神经网络哪些区域有一定联系?
MySQL表sql语句增删查改_增加
【无标题】(完美解决)uni-app 小程序下拉刷新后刷新图标无法正常恢复的问题
WooCommerce Ecommerce WordPress Plugin - Make American Money
神经网络图怎么分析,画神经网络结构图
HDRP shader 获取阴影(Custom Pass)
Quickly submit a PR (Web) for OpenHarmony in 5 minutes
How to improve the efficiency of telecommuting during the current epidemic, sharing telecommuting tools
ES6:数值的扩展
数据库 SQL 优化大总结之:百万级数据库优化方案
MySQL表sql语句增删查改_查询
wordpress插件开发03-简单的all in one seo 插件开发
HStreamDB v0.9 发布:分区模型扩展,支持与外部系统集成
dreamweaver网页设计作业制作 学生个人网页猫眼电影 WEB静态网页作业模板 大学生个人主页博客网页代码 dw个人网页作