大道至简第二章随笔

懒人造就了方法。这句话我深表赞同。

上个学期学习C++的时候,老师会布置一些大作业,这些大作业往往需要敲500行左右的代码,其实500行代码对于我们这种初学者来说已经是天文数字了,所以我就开始思考,哪儿可以删掉一行,哪儿可以简化一下,慢慢的代码缩减了,工作时间也降低了,工作效率也提升了。果然懒人造就了方法。

当然懒不是真正的懒,而是指让编译器能够懒,造就方法的“懒人”往往都是勤快又善于思考的人。

但是太过勤快也不行,“愚公太勤快了,勤快的今天可以比昨天多凿一倍的石头。但是越发的勤快,愚公将越发没有机会找到更快的方法。”所以在努力工作的同时,不妨停下来看一看自己庞大的工程量,思考思考是不是有简化的方法,让自己事半功倍的办法。比如李冰,李冰就发现了火可以烧爆石头,他在积薪烧之的时候,愚公正在击石碎壤。高低立判。

以前的程序员真的很辛苦,代码不分开,一百万行代码都写在一个文件里,就像初学的我们,三十个类四十个函数四百行代码全部写在一个main.cpp里面,出了bug自己解决不了,让老师过来看,老师总不能把所有的代码全给读一遍,再给你去找bug的解决办法,那老师这节课不用上了,全帮你一个人了。

文中问到了,你的书桌乱吗?我们每周都查寝,每个人都会整理自己的书桌,知道把东西分类,那为什么不知道把不同的代码写到不同的文件里?所以学习不光是把老师教的东西理解,还要有自己的理解和做法,我们都学了一年的程序,但是如果现在把一个任务放在我们面前,我们一样是束手无策,也就是说我们只是把知识学进去了,并没有掌握它。

文中还提到“程序=算法+结构+方法”,下面还有一段关于面向过程和面向对象的谈论。

面向过程是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
原文地址:https://www.cnblogs.com/a1264393659/p/4840478.html