Как Вы сохраняете себя и Ваших коллег от создания огромных классов [закрытыми]

9
задан Pieter Germishuys 3 June 2010 в 13:19
поделиться

7 ответов

Думаю, это зависит от ваших внутренних процессов в большей степени.

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

Временные ограничения - это одно, но если я просматриваю код с ужасно длинными классами, я не соглашусь на регистрацию.

Поначалу к этому трудно привыкнуть, но, в конце концов, так лучше для всех.

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

Наконец, мы часто проводим сеанс программирования «покажи и расскажи», где мы можем продемонстрировать нашу работу коллегам, нам следует не делать этого с помощью уродливого кода!

7
ответ дан 4 December 2019 в 21:08
поделиться

Другое предложение - делать только то, о чем просят. Не играйте в игру «Что, если» и не пытайтесь придумать решение. За этим стоит идея «Держите это просто, глупо».

1
ответ дан 4 December 2019 в 21:08
поделиться

Единственным наиболее важным шагом для меня, чтобы избежать больших классов, которые часто нарушают SRP, было использование простой структуры внедрения зависимостей. Это освободило меня от слишком много размышлений о том, как связать все вместе. Я использую внедрение конструктора только для того, чтобы не допустить циклов в дизайне. Такие инструменты, как Resharper, помогают инициализировать поля из аргументов конструктора. Эта комбинация приводит к почти нулевым накладным расходам на создание и подключение новых классов и неявно побуждает меня более подробно структурировать поведение.

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

0
ответ дан 4 December 2019 в 21:08
поделиться

Длинные классы - один из многих возможных неприятных запахов кода.

Исправление слишком больших классов путем создания множества маленьких может создать свои собственные проблемы. Новым инженерам в вашем проекте может быть трудно следить за потоком кода, чтобы понять, что и где происходит. Одним из артефактов этой проблемы могут быть очень высокие стеки вызовов, выполнение которых может быть разделено на множество небольших классов.

1
ответ дан 4 December 2019 в 21:08
поделиться

Мы - магазин java и maven, и один из ... Думаю, можно сказать, что судебно-медицинские методы, которые мы используем, - это отличные FindBugs. , Плагины PMD и javancss. Все будут предупреждать о чрезмерной длине метода, а вычисления цикломатической сложности могут открыть глаза.

0
ответ дан 4 December 2019 в 21:08
поделиться

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

0
ответ дан 4 December 2019 в 21:08
поделиться

Используйте такой инструмент, как Resharper, и команду «Извлечь метод».

1
ответ дан 4 December 2019 в 21:08
поделиться