Избегайте слишком большого количества аргументов в методе - PullRequest
0 голосов
/ 11 февраля 2019

Я хотел бы знать, есть ли способ избежать передачи слишком большого количества аргументов методу, в настоящее время я передаю 5, что, как я считаю, сделает код более трудным в обслуживании и менее чистым.В этом случае метод generic_column.В настоящее время передается 5 аргументов, но может передаваться 8 или более.

class BranchBuilder(object):
    """docstring forBranchBuilder."""
    def __init__(self, raw):
        self.raw = raw

    @staticmethod
    def generic_column(size, posx, distance, raw=True,
                       color="red", complex=True):
        """Build the column according the needed requirements."""
    # creates column with arguments.
        return generic_column

    def builder(self):
        """Build the branch that contains all the columns."""
        initial_column = self.generic_column(3, 120, 66, raw=True,
                                             color="white", complex=False)
        mid_column = self.generic_column(3, 120, 66, raw=False, color="black",
                                         complex=False)
        last_column = self.generic_column(3, 120, 66, raw=False, complex=True)

Я хотел бы найти способ упростить поддержку и понятность любому другому человеку, который имеет дело с кодом впереди.

1 Ответ

0 голосов
/ 11 февраля 2019

Почему бы не **kwargs:

def generic_column(**kwargs):
    """Build the column according the needed requirements."""
# creates column with arguments.
    return generic_column
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...