让被调用的方法处理调用者类可能已经处理过的业务是否不好?

时间:2019-05-01 04:54:55

标签: python oop

我在这里做一些代码,面对这个好/不好的实践困境:

        message_id = self.get_message_id(msg)
        Notification.set_notification_type(self, message_id)

如您所见,我从self.get_message_id(msg)得到一些回报,并将其作为自变量发送到Notification.set_notification_type()

我的问题是:我应该这样做吗,而不是上面的步骤:

        Notification.set_notification_type(self, msg)

然后在Notification.py文件上:

        def set_notification_type(obj, msg):
            message_id = obj.get_message_id(msg)

也就是说,我应该在方法中接收原始数据并使用obj参数来处理我必须处理的内容还是应该发送obj已经处理的所有内容?

谢谢!

1 个答案:

答案 0 :(得分:0)

这将更具可读性,并且可以清楚地定义您的set_notification_type方法将给出的内容以及期望作为参数的内容。

def get_notification_type(messageId):
        //Do stuff to populate notificationType
        return notificationType;

message_id = self.get_message_id(msg)
notification_type = Notification.get_notification_type(message_id)

我来自c#背景。因此语法可能有错误。尝试使方法定义尽可能清晰,以便可以轻松重用。