@theNorthWind

Сколько строк нормально для класса?

Сколько строк по вашему мнению приемлемо для одного класса в C++ и ещё возможно не говнокод? Нормально ли делать класс из около 300 строк?
  • Вопрос задан
  • 1008 просмотров
Решения вопроса 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Столько, сколько необходимо для кодирования логики поведения объектов этого класса.
А заложенная логика в этот класс - это вопрос архитектуры проекта (не кода проекта!).
Ответ написан
Комментировать
@liquiddeath13
кода должно быть достаточно для реализации заложенной в класс логики, выполнение к-рой будет делегировано исключительно ему/объекту данного класса
важно разграничивать функционал, который вы хотите реализовать в рамках того или иного класса. отделять мухи от котлет, как любят говорить
остальное - вопрос архитектуры ПО, как уже было ранее озвучено
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
myks92
@myks92
Нашёл решение — пометь вопрос ответом!
Где-то читал, что примерно 500-1000 строк для бизнес логики.

Но:
1. Количество строк никак не может зависеть от качества кода. У вас может быть 500 строк плохого кода, который не разберёт даже автор. Но если у вас код хотя бы по DDD, то с таким кодом жить проще. А если ещё есть тесты, то вдвойне лучше.

2. У вас код может быть и на 1500 строк из-за подробной документации кода. Или же много строк получается из-за большого количества передаваемых параметров в методах. И такой метод приходится переносить - каждый параметр 1 строка. Пример.
3. Не стоит ориентироваться на количество строк. Если код поддерживать и читать не сложно, то не заворачивайтесь. Если сложно - рефакторинг.

А вообще советую писать код так, чтобы его можно было читать, как английский текст. Подбирать название переменных, методов, классов интерфейсов и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект