Объем класса в строках кода

 
0
 
C++
ava
ZZZkoderZZZ | 17.03.2013, 00:47
Есть общепринятое мнение, что размер метода должен быть не более 100 строк. А есть ли подобное ограничение для объема класса?
Comments (16)
ava
bsa | 17.03.2013, 00:16 #
Есть - разумное проектирование. Класс который не делает все на свете в принципе не может быть очень большим. А если он таковым становится, то это повод задуматься о его делении и инкапсуляции.
ava
VSB | 17.03.2013, 00:23 #
Но если класс - обертка над API (привет, MFC) то ничего не поделаешь...
ava
bsa | 17.03.2013, 00:25 #
VSB, ты считаешь, что 100 методов - это нормально?
ava
borisbn | 17.03.2013, 10:46 #
Человек, ответивший >100000, выйди из сумрака! Кто ты?
ava
feodorv | 17.03.2013, 14:05 #
Цитата (borisbn @  17.3.2013,  11:46 findReferencedText)
Человек, ответивший >100000, выйди из сумрака! Кто ты?

Я!
А что Вы хотите? Какой вопрос, такой и ответ:
Цитата (ZZZkoderZZZ @  17.3.2013,  00:47 findReferencedText)
Сколько строк как максимум должен занимать класс?

Насколько я знаю, никаких ограничений на данный момент не существует.
Другое дело, если бы вопрос формулировался так:
Цитата


Как вы считаете, каким разумным количеством строк стоит ограничиться при проектировании класса?


И то, сам класс может занимать 10% от объёма кода, остальное - подробное описание: комментарии учитывать? Пустые строки? Оформление кода? Где пункт: "зависит от задачи"?
10000 строк кода на один класс - не так уж и много для некоторых задач. При этом описание класса вполне может занимать < 500 строк. И как отвечать при этом: 100-500 или 5000-10000?

Цитата (VSB @  17.3.2013,  01:23 findReferencedText)
Но если класс - обертка над API (привет, MFC) то ничего не поделаешь... 

Я вот себе представил стартовый код какой-нибудь новой суперобъектной версии MS Windows 2050:

#include <mswindows>

int main( void )
{
  MSWindows win;
  return win.run();
}

Будут там себя ограничивать разработчики или нет, никто не знает... 
ava
ZZZkoderZZZ | 17.03.2013, 16:47 #
Цитата (feodorv @ 17.3.2013,  14:05)
Цитата (borisbn @  17.3.2013,  11:46 \\"findReferencedText\\")
Человек, ответивший >100000, выйди из сумрака! Кто ты?


Я!

10000 строк кода на один класс - не так уж и много для некоторых задач.

иуыеиукыиыкв
ava
feodorv | 17.03.2013, 17:08 #
Цитата (ZZZkoderZZZ @  17.3.2013,  17:47 findReferencedText)
Подразумевается объем заголовка класса

Ок))) Прошу прощения, не заметил. Но всё равно, ограничений нет.
ava
ZZZkoderZZZ | 17.03.2013, 18:16 #
Цитата
Ок))) Прошу прощения, не заметил.

это не ты не заметил, а я сегодня добавил, чтобы всем понятнее было smile 
ava
volatile | 17.03.2013, 23:39 #
feodorv,  smile 
Цитата (ZZZkoderZZZ @  16.3.2013,  23:47 findReferencedText)
Сколько строк как максимум должен занимать класс?

добавте пункт "ограничено свободным местом на жестком диске"

И ваще хватит идиотских вопросов.
можно делать всё. Единственное ограничение - здравый смысл, который должен быть.
А если его нет, то никакие запреты не помогут.
ava
NoviceF | 18.03.2013, 20:35 #
Цитата (volatile @  18.3.2013,  00:39 findReferencedText)
добавте пункт "ограничено свободным местом на жестком диске"


вот сейчас могу не угадать, но вроде бы же должно быть ограничение на сегмент кода в ia-32 (ну или там x86-64)? В ia-16 точно было, причём сегмент кода был довольно небольшим и особо талантливым программистам давалось его переполнить :)

Это я к тому, что если данная проблема существует на относительно современных архитектурах, мы упрёмся в неё раньше, чем в объём жёсткого диска.
ava
borisbn | 18.03.2013, 21:35 #
> мы упрёмся в неё раньше, чем в объём жёсткого диска
Жёсткого диска может не быть вовсе

А вообще - согласен с отписАвшимися, что вопрос не корректен в принципе
ava
mes | 18.03.2013, 22:43 #
Цитата (NoviceF @  18.3.2013,  19:35 findReferencedText)
 вроде бы же должно быть ограничение на сегмент кода в ia-32

хм.. а какая разница в классе будут строки или вне его ?!
ava
baldina | 18.03.2013, 23:24 #
ответил >100000. искал вариант 10e7, не нашел :-(
ведь это же
Цитата (ZZZkoderZZZ @  16.3.2013,  23:47 findReferencedText)
общепринятое мнение

ava
NoviceF | 19.03.2013, 07:56 #
Цитата (mes @  18.3.2013,  23:43 findReferencedText)
хм.. а какая разница в классе будут строки или вне его ?! 


да, впринципе, никакой. Мой вопрос просто про ограничения архитектуры, может кто в курсе smile
ava
ZZZkoderZZZ | 19.03.2013, 08:24 #
Цитата (baldina @ 18.3.2013,  23:24)
ответил >100000. искал вариант 10e7, не нашел :-(


Сколько времени уйдет у программиста только чтобы прочитать заголовок класса из 10 млн. строк, и чтобы понять, как пользоваться этим классом? Есть ли вообще программисты, котрые на это способны?
Даже 100 000 строк уже очень много.
ava
baldina | 19.03.2013, 09:51 #
ZZZkoderZZZ, займитесь уже полезным
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit