2013-09-05 2 views
0

У меня почти около 12 методов в моем классе. Я сомневаюсь, существует ли какой-либо стиль форматирования, например, вызываемый метод должен быть написан рядом с методом вызывающего абонента. «Существует ли какой-либо стандарт, что максимальные методы для каждого класса?Как отформатировать методы в классе

ответ

1

Я бы предложил прочитать . Роберт К. Мартин мысли об этом в своей книге Чистый код. Он пишет, что класс должен быть читаемым как статья или страница книги, поэтому вы предпочитаете поддерживать методы, близкие к которым они требуют. Конечно, все это невозможно сохранить, но вы можете идти к нему. Это устраняет необходимость часто просматривать большие источники. Для максимальных методов у Fowler есть некоторые правила, но это действительно зависит от класса, но: сохраняйте методы и классы как можно меньше.

+0

Спасибо, что обратились ко мне с этой книгой http://www.e-reading-lib.com/bookreader.php/134601/Martin_-_Clean_Code_-_A_Handbook_of_Agile_Software_Craftsmanship.pdf Есть ли такие книги, которые вы могли бы предложить. – MaheshVarma

+0

Я ошибся автор, но - у Мартина Фаулера есть отличные книги и в теме рефакторинга. Также есть некоторые другие рекомендуемые названия, упомянутые в «Чистом коде». – ragatskynet

+0

Вы знаете правильное название для книги моделей дизайна GangofFour? Я не мог получить! – MaheshVarma

1

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

Нет стандартов, которые бы говорили: «у вас не может быть более 20 методов в классе», поскольку это не то, что вы можете стандартизировать (или скорее, это не имеет смысла). С опытом вы научитесь видеть, есть ли у класса слишком много методов (одним признаком было бы то, что класс, по-видимому, несет ответственность за две разные вещи, и в этом случае вы должны реорганизовать класс на 2 разных класса).

1

Вообще говоря, 12 методов слишком много для класса, я думаю, вам стоит подумать об этом, если слишком много методов, может быть, они противоречат объектно-ориентированным мыслям. Если вы в порядке с конкретным языком, вы можете ознакомиться с некоторыми дизайнерскими моделями, такими как MVC, может быть, это даст вам некоторые идеи.

Смежные вопросы