|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.12.2009, 04:44 | #1 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Большой проект, как не запутаться?
Есть такой вопрос: Подскажите пожалуйста как вы строите приложение? Ну на бумаге или на компьютере может блок схемы строите (если можно поконкретнее)? А то когда в приложении становиться более менее много функций, да и проект если не маленький, начинаешь путаться, что-то забывать, где-то если исправил, что-то, то от него зависящее бывает, тоже нужно подправить, а забыл. Вообще, что можете посоветовать? И сразу прошу не оставлять тут "умные изречения", которые не отвечают на вопрос, просто если кого-то хочется окорбить (хоть даже шутя), то оставьте при себе своё мнение P.S. просто достали "шутники".
Как лучше писать более менее большой проект? Последний раз редактировалось Casper-SC; 01.12.2009 в 04:49. |
01.12.2009, 05:22 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
У меня - все в голове. Все - импровизация, на ходу. Чаще всего первоначальный алгоритм значительно меняется в ходе разработки.
Когда объем становится большим, начинаю делать пометки в отдельном текстовом файле - что нужно сделать. Пока не станет пустым. И сначала делаю все ключевые функции (скелет), потом наращиваю "мясо". Потом идет "полировка ногтей"... |
01.12.2009, 08:29 | #3 |
Форумчанин
Регистрация: 24.06.2009
Сообщений: 216
|
Я записываю на обычном листе, что нужно сделать. И причем записываю это сразу как только пришло в голову что "это" надо сделать, потому как потом обязательно забуду и этом может вылезти не сразу. Ну и по мере того, как я реализую написанное, я его вычеркиваю.
Водку мы пьем для запаха - а дури нам своей хватает!
|
01.12.2009, 08:43 | #4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Я пишу в текстовый файл только сложные вещи, например функция возвращает некое число, от которого зависит дальнейший ход работы (функция определения типа параметра), а так все в голове и комментриую каждую строку кода. Все остальное в голове. Сейчас около 20000 строк кода и я превосходно ориентируюсь в своей проге.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
01.12.2009, 11:44 | #5 |
Форумчанин
Регистрация: 01.10.2009
Сообщений: 302
|
А я пишу в дельфи 2010, и там можно "сворачивать" процедуры, и функции, удобно и не запутаешься! )))
|
01.12.2009, 12:06 | #6 |
Участник клуба
Регистрация: 08.03.2008
Сообщений: 1,537
|
На первых порах на листе пишу черновик, все, что посчитаю нужным. Потом беру другой лист упорядочиваю то что написал на первом, и тд. пока в голове и на листе не сложится полная картинка проекта в целом(или части проекта). Блок схемы составляю, чтобы не запутаться. Программку недавно скачал для составления блок схем – WizFlow, доволен.
|
01.12.2009, 12:23 | #7 |
Участник клуба
Регистрация: 12.08.2008
Сообщений: 1,977
|
Как и у многих, вся идея проекта сначала прорисовывается "в голове".При необходимости карандашом составляю блок схему.Ключевые моменты (функциями, процедурами ) реализую отдельными пробными проектами.Когда пробные проекты отлажены - состыковываю их в один.
Еще очень важный момент - культура работы с переменными и методами. Всегда даю им осмысленные наименования (какими бы они длинными не были), что бы через какое то время уже по имени можно было вспомнить назначение переменной или процедуры. Комменты желательно применять почаще. Потеря времени на написание комментариев потом с лихвой компенсируется читабельностью кода.
И не сомневайся даже ... отдых - кайф, работа - лажа!
|
01.12.2009, 13:04 | #8 |
Форумчанин
Регистрация: 28.09.2008
Сообщений: 344
|
Если ТЗ в электронном виде - то копирую ключевые моменты и добавляю комментарии требующие согласования. Иногда какие-то схемки набрасываю на листах.
Их легче носить и согласовывать, и потом только вычеркивай. Код стараюсь раскладывать поудобнее для быстрого поиска и использую осмысленные наименования, в том числе и модулей. Комментирую его по минимуму, только если сразу не ухватишь мысль по коду ( например большой код модуля ). и в общих модулях. Про исправления: если в одном проекте то легче, влияние сразу видно - если не правлю сразу то пометка. В общих классах, функциях, если исправление внутри и не повлияет на поведение внешнее то сразу правлю ( проверив на конкретном проекте ). Если затрагивается внешнее поведение, то сперва реализую переопределение в одном проекте или создаю дополнительную функцию ( класс ) ( типа обратной совместимости ) |
01.12.2009, 14:40 | #9 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Если проект большой и сложный (во всяком случае по моим меркам).
То сначала беру чистый лист бумаги. На нем записываю название будущей программы (обычно отражает что должна делать данная программа). Потом пишу, что должно быть точно реализовано (без чего эта программа бесполезна). Потом по пунктам в двух словах пишу, побочные задачи, которые необязательны, но придают удобство в работе с программой и дополнительную функциональность. Прикидываю примерно в уме, какие фунции писать, как назвать. Иногда также на этом же листке записываю. Потом смотрю, есть ли такие же программы, чего в них не хватает, по необходимости дополняю список основных задач на листке. Потом запускаю среду программирования, например Дельфи, называю латинскими буквами более менее осмысленно (вначале всегда буква P). Также все компоненты вначале названия имеют свой префикс: например, Label - Lb; Edit - E; SpinEdit - SE и так далее. Все переменные тоже имеют осмысленные названия. В конце каждой процедуры или функции пишу в комментах название процедуры, например: {ScanLineToPixel}. Это делается для того чтобы легче было ориентироваться в коде. Также для удобства использую различные дополнения к IDE Delphi, например: CodeRush и GEexperts. (для быстрого ориентирования в коде, форматирования кода, несколько буферов обмена и такое прочее). Комментировать код тоже не следует забывать, хотя я сначала пишу код, а потом комментирую, но это не совсем правильно. Более правильно, сначала написать комментарий что именно будет сделано, а потом писать код, и по ходу тут же писать комменты. Если что то недописал, то в To Do List (если в Дельфи 7 во вкладке View) пишу, что код не докончен до конца или работает неправильно, также вверху в исходнике в комментариях пишу, что нормально работает, а что нет и такое прочее. Специально делаю архивные копии исходников, так как бывает что приходится вносить серьезные изменения в программе и если что то не так напишешь, то приходиться возвращаться к оригиналу и искать ошибку. Также для этого после каждого серьезного действия или нового добавления кода, надо проверять через showmessage или просто в Memo или файл, промежуточные результаты работы программы. Как уже говорили, если с чем то сталкиваешься впервые и код сложный, то лучше создать несколько проектов и в них испытать, а потом соединить все это в основном проекте, ошибок будет меньше и быстрее выявляться будут. Комментарии необходимы, так просматривать легче например в Notepad++. P.S. Вкратце примерно так, может быть что-то где-то кому-то покажется неудобным и лишним, но все зависит от индивидуальных особенностей личности. НО что является главным при написании сложных проектов, так это четкое понимание ЧТО пишем(какая "категория" программ), ДЛЯ ЧЕГО пишем (какая функциональность, уникальность), ЧТО ВАЖНО в программе, а что нет (то есть то от чего можно отказаться и не зацикливаться, если совсем не получается или время поджимает). В целом главное писать код, а потом со временем когда надоест мучаться разбираться в своих беспорядочных записях (а такой момент рано или поздно наступает), то придет и привычка "раскладывать все по кирпичикам" и писать комментарии.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
01.12.2009, 14:43 | #10 |
Форумчанин
Регистрация: 09.11.2009
Сообщений: 669
|
А я сразу с коментами пишу и всё понятно, к примеру:
Код:
Я не всегда знаю, о чем говорю, но знаю, что прав. © Мухаммед Али.
К чёрту обстоятельства. Я создаю возможности. © Брюс Ли |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
BinToHex из Classes. Как юзать и скормить ей большой String | Alex Cones | Общие вопросы Delphi | 5 | 05.11.2009 17:18 |
как ускорить работу с большой dbf базой? | avfly | БД в Delphi | 22 | 13.10.2009 21:37 |
Как "протянуть" формулу без мыши, если столбец очень большой? | zazuza | Microsoft Office Excel | 7 | 25.09.2008 10:19 |
FoxPro. Как записать в поле Memo большой текст? | zag | БД в Delphi | 5 | 30.05.2008 06:10 |