Код очень объемный, из-за чего столкнулся с лимитом: The code of constructor Window(String) is exceeding the 65535 bytes limit. Можно ли как-то увеличить этот лимит, если нет, то что делать в таком случае?
Ответ
Нет, этот лимит увеличить нельзя. Это ограничение виртуальной машины, закреплённое в спецификации
Размеры методов надо сокращать. Особенно конструкторов. И для этого всегда есть возможность. Вот что по этому поводу пишет авторитетный Роберт Мартин в своём знаменитом труде "Чистый код":
Первое правило: функции должны быть компактными. Второе правило:
функции должны быть еще компактнее. Я не могу научно обосновать свое
утверждение. Не ждите от меня ссылок на исследования, доказывающие,
что очень маленькие функции лучше больших. Я могу всего лишь сказать,
что я почти четыре десятилетия писал функции всевозможных размеров.
Мне доводилось создавать кошмарных монстров в 3000 строк. Я написал
бесчисленное множество функций длиной от 100 до 300 строк. И я писал
функции от 20 до 30 строк. Мой практический опыт научил меня (ценой
многих проб и ошибок), что функции должны быть очень маленькими. В
80-е годы считалось, что функция должна занимать не более одного
экрана. Конечно, тогда экраны VT100 состояли из 24 строк и 80
столбцов, а редакторы использовали 4 строки для административных
целей. В наши дни с мелким шрифтом на хорошем большом мониторе можно
разместить 150 символов в строке и 100 и более строк на экране. Однако
строки не должны состоять из 150 символов, а функции — из 100 строк.
Желательно, чтобы длина функции не превышала 20 строк
Комментариев нет:
Отправить комментарий