Является ли плохой практикой позволять вызываемым методам обрабатывать бизнес, который мог бы обработать класс вызывающей стороны? - PullRequest
2 голосов
/ 01 мая 2019

Я делаю некоторый код здесь и столкнулся с этой дилеммой хорошей / плохой практики:

        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 голосов
/ 01 мая 2019

Это было бы более читабельно и четко определяло бы, что даст ваш метод 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 # фона. Таким образом, синтаксис может иметь ошибки. Постарайтесь, чтобы определение метода было как можно более четким, чтобы его можно было легко использовать повторно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...