这似乎意味着,在将所有内容写入对象的时间成本等同于你将要节省的时间之前,你不应该从过程式编程转向OOP编程。
一般来说,什么时候是从过程式编程切换到OOP编程的好时机?你通常会寻找哪些迹象/特征来知道你的项目需要进行这种转换呢?
如果这不是一个非常非常简单的应用程序,那么现在就是使用面向对象编程的时候了。事实上,有人认为你应该始终采用面向对象编程,因为在未来想要扩展程序时会更加困难。
我认为这取决于上下文。对于使用现有OOP框架的图形应用程序,权衡是瞬间的--在某些情况下,您必须费尽心思才能编写过程化GUI代码。
然而,如果您正在进行原始数据处理并且不与任何OOP框架进行交互,也许您会发现OOP从来没有意义。
在项目中转换到面向对象编程可能非常耗时。我怀疑这样做是否有益,因为它需要大量的编码、大量的测试,然后还需要进行大量的重构。整个面向对象编程的概念与过程式编程不同。
因此,我建议不要在项目中进行转换,而是尽快开始在新项目中使用面向对象编程。当你感到舒适时,可以开始考虑为现有项目设计面向对象的方案,并逐步实现面向对象的功能。虽然这将是很多工作,但它可能会感觉像是重新编写整个项目。
我会在其他地方寻找需要转换的迹象。尽管我是面向对象编程(OOP)的大支持者,但代码重用在OOP语言中通常只比较好。
OOP只是帮助组织代码的另一个工具,就像过去的函数一样。它是一个伟大而有用的工具。但主要的好处是使编写和维护代码更容易。
如果是我,如果转换到OOP几乎需要完全重写,我会等待一些更明显的转换实际效益出现。如果你的代码能够正常工作,我不知道为什么你要重写它。
这取决于任务,但是我已经做过两种方式,以下是我的想法:
您是否觉得工作需要模块化?能够从一个中心位置管理相似或不同的事物吗?有许多重复的元素吗?快速开发或管理更改是否很重要?
您是否认为您正在解决的问题是可预测和重复的?任务最好通过遵循步骤来解决还是应用算法来解决?
如果更像1,则选择面向对象编程(OOP),否则如果更像2,则选择过程式方法。
如果不确定,请使用您熟悉的方法。