我一直在研究一个程序来解决魔方,我发现自己不确定几件事。首先,如果我有一堆具有一般应用程序的功能(例如,清除屏幕),并且不知道我是否应该将它们更改为类内部的方法。我的代码的一部分是OOP,另一部分是程序性的。这违反了pep8/是不良的做法吗?我想更广泛的话说,混合两种编程样式(oop,功能,程序等)是一个坏主意吗?
我会说这还不错,如果问题可以更轻松地以这种方式解决并且您的语言支持它。
编程范式只是解决问题的不同方法:
- 程序说:"解决此问题需要执行什么步骤?"
- 功能性说:"应该转换哪些值,以及如何转换它们以解决这个问题?"
- oop说:"需要哪些对象相互作用,在它们之间需要发送哪些消息才能解决此问题?"
将问题分为较小的问题时,您可能会发现问题的某些部分可以更轻松地以功能性的方式解决,而其他部分则是一种程序性的方式。完全有可能遇到这样的问题。
python主要是程序性的,并且具有功能特征(即functools
)。它的功能不如Haskell,不如C#OOP,但它允许您在某种程度上使用这些范式。