我以Python为例。你知道吗
class ThingArguments:
def render(self, text, color):
return magiclibrary.generateText(text, color)
class ThingStates:
def __init__(self):
self.color = (0, 0, 0)
def render(self, text):
return magiclibrary.generateText(text, self.color)
def setColor(self, color):
self.color = color
对于Python,哪个更容易接受?哪种语言更可取?它们各自的优点是什么。。?你知道吗
首先,as Sven Marnach mentioned,第一个例子应该是一个普通函数:
那么这个普通函数和类解决方案有什么区别呢?你知道吗
普通函数
班级
render
,而无需指定颜色(如果这是最常见的行为,则很重要)在Python中,通常首选第一种方法。一个普通函数意味着更少的状态需要担心,这对于更大或更复杂的程序来说是一件大事。另外,explicit is better than implicit。你知道吗
我总是喜欢第一种方法,即使不完全可用。想到Java,函数必须始终包含在类中,因此我在抽象类中使用了许多静态函数。你知道吗
我认为与其说是语言问题,不如说是语境问题。如果该类用于呈现日志(例如,在调用它的函数不关心颜色的情况下),则该类更可取。另一方面,如果大多数调用者知道颜色并想选择它,那么这个类将是一个禁忌
像往常一样,当有疑问时,采取更简单的方法。使代码复杂化比简化容易。你知道吗
相关问题 更多 >
编程相关推荐