![]() |
Когда кода много
Интересно как работают опытные программисты с большим колличеством кода, насколько быстро вы можете найти нужную функцию или изменить нужный параметр? делаете это на автомате или приходится напргать мозг? :rolleyes:
Просто допустим в 3д максе я могу отключить мозг и работать тупо на автомате. Конечно много завит от структуры кода, сейчас пытаюсь его оптимизировать под себя, но когда куча кода мой мозг работает как пентиум 1 :-D :SOS: |
Ответ: Когда кода много
Продвинутые IDE имеют такие полезные вещи, как "Поиск по всем файлам", "Закладки" и список всех функций/типов/констант/глобалов/локалов в текущем проекте.
Пользуемся IDEal или Protean, господа. |
Ответ: Когда кода много
не ну закладки то понятно.. я немного про другое
|
Ответ: Когда кода много
Большой код профи не допустит, он разобьет код на инклуды.
|
Ответ: Когда кода много
Инклуды же,ужаснейшая вещь,по крайней мере,мне. Намного удобнее будет пролистать код,или воспользоваться поиском,чем переключаться между инклудами. А еще,когда изменил чо-то, в зависимом от главного,инклуде,по привычке его и компилишь.Это так раздражает.
Может быть,и есть IDE,которые всегда запускают только установленный Main-код.Уверен в Protean это есть,чем я не пользуюсь. |
Ответ: Когда кода много
Зато можно создать инклуд с различными глобальными переменными, и с функциями. А потом в главном коде работать просто оболденно;)
|
Ответ: Когда кода много
Цитата:
Плюс если все правильно организовать,то работать с инклудами одно удовольствие....єкономит массу времени. |
Ответ: Когда кода много
Я потому и перешел с Блица на С++, что мой проект стал разрастаться как снежный ком, и я в нем утонул. Инклуды в блице очень ограничены!
В C++ есть отличные фичи которые позволяют делать большие пректы - - ООП - модульность (раздельная компиляция модулей и сборка линковщиком) - библиотеки... - и т.д и т.п. Одно только ООП решает половину проблем...) |
Ответ: Когда кода много
при реализации относительно большого проекта который требует написания большого объема кода главное структуризация и иерархия !! Сначало нужно выполнить структуризацию на уровне логики !!
Не нужно все сваливать все в один супер алгоритм под названием ИГРА (допустим мы про игры говорим, да) !! Нужно все разделить - боты, итемы, магия, статика и т.д. !! Сделать один глобальный (статический) объект/класс который будет управлять чем то одним !! Помимо управления он должен обмениватся инфой с другими такими же глобальными объектами как он !! Это сильно упрощяет дело !! Основной программе остается лишь сделать взаемодействие между ними !! Все будет работать как одно целое и независимо !! Еще плюс в том что это способствует переносимости кода в другие проекты и тд !! Что касается реалищации: Нужно стратся разделять по файлам, давать им внятные названия !! Мало отличающиеся части кода лучше вынести в функцию но добавить параметр !! Задавать константы а не хардкодить какоето значение в коде а потом искать его полчаса во всех местах !! Очень важно называть все своими именами (что содержит переменная, что выполняет функция) !! И тд.. И еще много чего что неудобно писать с телефона !! :) Это конечно мое имхо которое мне помогает !! У каждого свои подходы !! Делитесь !! |
Ответ: Когда кода много
Цитата:
|
Ответ: Когда кода много
О вкусах не спорят).
|
Ответ: Когда кода много
Цитата:
а вообще спасибо за инфу , насчет иерархии это да, наверно в ней вся проблема, чтобы найти нужный элемент приходится долго вспоминать в какой последовательности его искать реально чем больше разростается проект тем больше времени уходит на вспоминание где что лежит |
Ответ: Когда кода много
Когда делал РПГ на блице у меня были инклуды:
NPC - поведение персонажей и игрока Inventory - инфентарь и предметы Dialogs - диалоги персонажей Venicles - колёсные средства передвижения, залезание/вылезни, багажники Physics - всё что относится к загрузке физических объектов из собственного формата (и его загрузчик) и к регдоллу Math - математические функции типа теоремы Пифагора и т.д. Vegetation - всё что относится к росту травы/деревьев/плодов Pathfind - зачатки путенаха И ещё с пяток, что уже не вспомнить. Использовал Visual Blitz Справа список типов, функций, глобалов и констант. Сворачивание тел функций и типов. По-моему, удобно, вполне. |
Ответ: Когда кода много
ABTOMAT я кстати тож использую visual blitz удобная чтука
Вот только сейчас начал пользоваться списком справа , раньше приходилось листать на нужную функию вручную ) Плюс добавил основные точки с помощью labels : основные настройки загрузка уровня цикл обновление Действий renderworld список функций Кстати сворачивания типов у меня почемуто нету =\ Я пока использую инклуд с глобальными переменными и инклуд с главным меню, но похоже зря это сделал, т.к. теперь незнаю как сделать возвращение в главное меню из игры =\ |
Ответ: Когда кода много
Цитата:
|
Часовой пояс GMT +4, время: 04:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot