Руководство по проектированию функций / классов - PullRequest
1 голос
/ 17 ноября 2009

Вчера я спросил коллегу, имеет ли функция слишком много параметров, было бы лучше вместо этого создать класс со свойствами.Есть ли какие-либо рекомендации, которым я могу следовать?

Ответы [ 3 ]

2 голосов
/ 17 ноября 2009

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

VB имеет необязательные параметры, а C # 3 + позволит создавать экземпляры с использованием параметров.

Будет ли новый класс использоваться как-либо иначе, кроме запуска этой функции, или состояние этого класса будет релевантным позже в коде?

1 голос
/ 17 ноября 2009

Когда количество параметров превышает 5 Я обычно начинаю думать о рефакторинге метода. Там нет абсолютного числа, но это мое общее правило. Может иметь смысл сгруппировать данные в классе данных, или иногда это означает, что мне следует переместить метод, чтобы он был ближе к данным.

0 голосов
/ 17 ноября 2009

Все зависит от контекста.

Например.

  1. Если это не операции с базой данных, мы можем выполнить в соответствии с дизайном системы. Разбейте модуль и попробуйте создать подмодули.

  2. Если это система баз данных, я всегда предпочитаю написать отдельный класс bean-компонента для Fields и DAO для операций.

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