![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | ||
Форумчанин
Регистрация: 01.12.2010
Сообщений: 140
|
![]()
Beermonza, модульность делалась с учётом на будущее
![]() Цитата:
![]() Цитата:
|
||
![]() |
![]() |
![]() |
#12 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]()
Я не делаю модули ради самих модулей. В твоем случае вижу даже такие модули, которые в себе содержать только процедуры без входных параметров, в которых обнуление переменных со строгими именами, характерными только конкретному проекту. Т.е. если я попытаюсь применить модуль для своего проекта, я не смогу им пользоваться, он не имеет смысла никакого вне проекта, для которого он написан. Тут нарушается сама суть существования модуля (библиотеки): процедуры и функции модуля должны носить универсальный характер, т.е. процедуры и функции должны иметь входные параметры, заданные неявным образом. Пример: function Min(a,b: Integer): Integer; - функция должна быть в модуле, который наполняет еще множество таких вот фундаментальных функций/процедур, не зависящих от проекта.
В своем проекте, я, естественно, создаю процедуры и функции, но в модуль их не кидаю, поскольку вне проекта они не имеют смысла, а раз проект есть, то путь все функции/процедуры будут в нем же. В любой момент я четко вижу как работает код, не прыгая по модулям и не смотря исходный код процедур/функций. Не маловажную роль играет и правильное оформление кода с визуальной точки зрения. Излишнее сокращение кода, отсутствие полных указателей тел циклов/условий (Begin..end) ведет к потере времени на поиск ошибок. Можешь просмотреть исходник, и сделать выводы. Это личные наблюдения за 10 лет, ...я набирал код по всякому, начиная и с сокращений и все маленькими буквами, но потом сделал открытие со временем: если в переменных и командах есть прописные символы, то глаз распознает код гораздо быстрее, тратится меньше времени на понимание и осмысление напечатанного. Например, я не создаю переменную posx, ее в коде не видно, она должна быть записана PosX. Если переменная числится записью некоторого типа, то имя ее должно начинаться с символа сокращения названия типа, например: тип TGUnits, в его составе есть переменная UPosX, в любом месте, увидев такую переменную я сразу понимаю какому типу она принадлежит. Еще много нюансов, все описать не хватит времени. По поводу столкновений. Нужно воспользоваться структурой метода "пузырька", аналогично на While цикле, с прыжками по массиву блоков, отмечая столкновения, ...ты видимо это и пытаешься выполнить, удачи! ...если что, пиши, буду помогать по мере возможности.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
![]() |
![]() |
![]() |
#13 | ||
Форумчанин
Регистрация: 01.12.2010
Сообщений: 140
|
![]() Цитата:
![]() Цитата:
Кстати, если не против, я оставил твой проект за основу. Спасибо. ![]() |
||
![]() |
![]() |
![]() |
#14 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
![]() Цитата:
С какой стати я должен быть против? ))) ...это твой проект, просто под иной редакцией.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация кода | ViktorG | Microsoft Office Excel | 4 | 12.11.2010 14:43 |
Оптимизация кода. | Alex Cones | Общие вопросы Delphi | 19 | 12.10.2009 20:51 |
Оптимизация кода | viscas | PHP | 3 | 31.05.2009 16:04 |
Оптимизация кода | nusik | Общие вопросы Delphi | 2 | 21.05.2009 17:55 |
Оптимизация кода. | MAKTECYMA | Общие вопросы C/C++ | 2 | 05.06.2008 16:48 |