|
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
|
|
Какое ограничение на число строк в программном модуле на вашей работе ?14.08.2021, 10:28. Показов 4070. Ответов 38
Метки нет (Все метки)
Добрый день. Извините за немного флудерский вопрос. Хочу узнать у сообщества. Есть ли ограничение на количество строк кода в одном программном модуле на Вашей работе ? И если есть то какое ?
Добавлено через 30 минут Какой типичный размер программного модуля на вашей работе ?
0
|
|
| 14.08.2021, 10:28 | |
|
Ответы с готовыми решениями:
38
submatrix в программном модуле
Radiogroup (Ограничение длины текста при программном заполнении Items) |
|
Неэпический
|
|||
| 14.08.2021, 16:00 | |||
|
Не привязывайтесь к "количество строк в файле". Это почти бесполезный показатель.
0
|
|||
|
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
|
|
| 14.08.2021, 16:03 [ТС] | |
|
Croessmah, Есть какоето медианное значение.
Добавлено через 1 минуту Croessmah, Если бы был бесполезный, то я бы не спрашивал. Как Вы сами правильно отметили имеет значение скорость навигации по коду.
0
|
|
|
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
|
|
| 14.08.2021, 16:11 [ТС] | |
|
Croessmah, т.е. Чаще всего Вы имеете с программными модулями в тысячу строк(примерно) ? Правильно ?
Добавлено через 6 минут Croessmah, Еще вопрос. Может ли отразится на сроках решения задачи, если вести разработку в очень большом программном модуле ? Какой по Вашему примерный предел такого модуля, после которого навигация становится затруднительной и скорость разработки падает.
0
|
|
|
Неэпический
|
|||
| 14.08.2021, 16:28 | |||
|
Тут же зависимость от нужного функционала и от удобства сопровождения. Навигация по коду также зависит не только от количества строк, но и от самого кода. Если там лапша, то и в пятистах строках заблудиться можно. Не знаю, мне такие не попадались, так что спрашивать у hoggy надо. А так, что сто строк, что тысяча - без разницы, если код нормальный.
0
|
|||
|
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
|
|
| 14.08.2021, 16:45 [ТС] | |
|
Croessmah, Я спрашиваю на форуме c++ не про программный модуль, где куча однородных программных конструкций, например 10 000 констант, а про самый обычный код(неоднородный по виду), привычного для Вас качества.
Вы говорите что до тысячи разницы нет. После скольких тысяч наступает разница ? Добавлено через 13 минут Разница в скорости разработки/доработки.
0
|
|
|
Неэпический
|
|||
| 14.08.2021, 16:50 | |||
|
Современные IDE позволяют без проблем прыгать от функции к функции. Если же не используется IDE, то текстовые редакторы могут искать по тексту. Если код нормально структурирован, то можно примерно понять куда тебе надо смотреть, даже без всякого поиска. А вот если код похож на лапшу, то можно и в пятистах строках завязнуть по самые уши. Например, если у вас есть некое чудо, выполняющее команды, то со временем количество команд может вырасти на порядки. В файле как бы добавилось 10К строк кода, но никакого влияния на навигацию, сопровождение и т.д. это не оказывает, но ежели добавится 10К строк каши... ![]() По-работе приходится изучать исходники Qt. К примеру: https://code.woboq.org/qt5/qtd... w.cpp.html В файле более 5К строк. Ну вот столько нужно этому "модулю". Никаких проблем с пониманием, разбором и навигацией нет.
0
|
|||
|
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
|
|
| 14.08.2021, 16:58 [ТС] | |
|
Croessmah, Спасибо. т.е. главное не городить мегафункции. Так ?
0
|
|
|
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
|
|||
| 14.08.2021, 17:25 | |||
|
https://github.com/search?l=C%... positories
0
|
|||
|
611 / 416 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
||
| 14.08.2021, 22:34 | ||
|
0
|
||
|
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
|
|
| 14.08.2021, 23:12 [ТС] | |
|
jugu, Спасибо за Ваше мнение.
Добавлено через 12 минут jugu, А assist позволяет сделать так что можно было пользоваться скроллбаром в пределах рабочего участка кода ?
0
|
|
|
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
|
||
| 15.08.2021, 11:00 | ||
![]() Добавлено через 38 секунд https://ru.wikipedia.org/wiki/Visual_Assist_X
0
|
||
|
611 / 416 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
|
|
| 15.08.2021, 11:12 | |
|
0
|
|
|
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
|
|
| 15.08.2021, 12:05 [ТС] | |
|
assemberist, Зачем писать, если не поняли о чем речь ?
Я имел ввиду что сколлбар при коде на много много тысяч строк становится бесполезной. А если нечайно его дернешь то можешь уехать далеко. Есть конечно способ вернуться, но психологически проще, когда скроллбар не является "миной" в пользовательском интерфейсе Visual Studio или любого другого редактора кода/среды разработки. jugu, Я знаю что такое Assist. Надеюсь и Вы поняли меня. Добавлено через 25 минут Не по теме: Это тема тема создана не для того что бы студент недоучка спрашивал совет у корифеев, а для того чтобы в равноправной взаимоуважительной дискуссии среди тех кто много много лет пишет на c++(и знает его хорошо) обсудить некоторые аспекты, на которые обычно никто не обращает внимание. Добавлено через 12 минут Неплохо быть иметь среду разработки где можно деактивировать мины пользовательского интерфейса. Это касается не только скроллбара, но и полной компиляции. А пока такой среды нету, то неплохо бы определить какой максимальное число строк в программном модуле комфортно для работы.
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||
| 15.08.2021, 14:20 | |||
|
Не считая генеренных файлов. Там и мегабайты могут быть, но это, как всем понятно, другое. Самое большое, что я видел - 100кб, но это уже считается очень много, и нужен рефакторинг. На всякий случай, общая кодовая база 6,5 миллионов строк. Кстати все вышесказанное - это не догма. Никаких строгих ограничений нет, но есть рекомендации и на ревью раздутость "модуля" (то бишь cpp-файлика) нужно обосновать. Как правило с этим нет проблем. ____________ Ну и в целом - это приятно, когда в одном файле только то, что относится к текущей подзадаче, декомпозиция - это, как я говорю, мать порядка.
0
|
|||
|
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
|
|||||
| 15.08.2021, 21:38 | |||||
![]() А вот насчет * Какой блок кода может считаться отдельной единицей: тело функции? пространство имен? любой логический блок у которого может быть тело из более чем одной инструкции (типа if, while, switch)? Или оставить прерогативу разбиения самому программисту? В принципе решается конфигой, но учитывая сомнительную полезность скроллбара... * Скроллбар привязан к объекту (в данном случае файл с кодом): Когда файл большой - мы прыгаем на километры. Если ограничивать перемещение скроллбара в пределах какого-нибудь блока, то проблема не решена вообще. Масштабировать скроллбар до размеров выбранного блока? Звучит так себе. Особенно когда нужно будет переходить к другому блоку. * Момент когда мы лочим скроллбар на блок кода: ручной лок (например по нажатию клавиш) требует времени на нажатие. Если лок будет автоматический, то моменты когда хочешь перейти например в начало файла, а тебя не пускает будут вымораживать еще сильнее.
0
|
|||||
|
13 / 13 / 1
Регистрация: 19.10.2019
Сообщений: 607
|
||
| 16.08.2021, 01:18 [ТС] | ||
|
assemberist, Предлогаю не не углубляться в дискуссию потому как тема создана не для того чтоб мне мозги канифолить, а лучше вернуться к изначальному вопросу:
0
|
||
| 16.08.2021, 07:23 | ||
|
Не по теме:
и дело даже не в размере файла, а в размере того, какой код сгенерирует компилятор. совсем недавно сталкивался с проблемой, когда GCC падал с ошибкой File Too Big, хотя файл сам был небольшой. падал где-то в ассемблере уже. зато там был огромный шаблон, который разворачивался в огромную кучу чего ни GCC, ни Clang выдержать не смогли.
0
|
||
|
913 / 339 / 135
Регистрация: 18.07.2017
Сообщений: 1,485
|
|||||||
| 16.08.2021, 10:15 | |||||||
|
Алексей1153,
0
|
|||||||
| 16.08.2021, 10:15 | |
|
Что глючит на вашей работе?
Ограничение по работе типа ТРИАЛ.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|