Форум: "Прочее";
Текущий архив: 2011.01.09;
Скачать: [xml.tar.bz2];
ВнизКак быстро разделить Unit.pas на тематические модули? Найти похожие ветки
← →
Guestt (2010-09-26 19:48) [0]По мере написания программы Unit.pas получился слишком большим, нужен быстрый способ разделить его на несколько тематических юнитов. Чтобы при переноске поменьше править код. Как это лучше сделать? Может ли кто-нибудь поделиться опытом?
← →
sniknik © (2010-09-26 19:53) [1]> Как это лучше сделать?
глазами смотришь, руками правишь, мозгом решаешь по какому признаку группировать/разделать...
или есть другие варианты? что вообще это значит - лучше?
← →
Jumbo (2010-09-26 19:53) [2]Copy/Paste
← →
Guestt (2010-09-26 20:01) [3]
> что вообще это значит - лучше?
В первом постинге написано: "чтобы меньше править код".
Как лучше, отдельные функции в других юнитах создавать, или классы, если классы, то как быстрее ("чтобы меньше править код") обеспечить их взаимодействие и всё такое.
← →
sniknik © (2010-09-26 20:09) [4]> чтобы меньше править код
чтобы меньше править код нужно вообще ничего не разделять... это будет идеал - правок 0.
← →
Jumbo (2010-09-26 20:11) [5]>>то как быстрее ("чтобы меньше править код") обеспечить их взаимодействие и всё такое.
Если у тебя между классами сильные взаимосвязи, то лучше оставить их в одном юните. Если связей нет - раскладываешь по юнитам простым Copy/Paste. Что сложного такого-то?
В общем, странно все это. Кто создатель? Кому лучше знать, что куда класть? Мы или ты?
← →
Guestt (2010-09-26 20:32) [6]
> Jumbo (26.09.10 20:11) [5]
>
> >>то как быстрее ("чтобы меньше править код") обеспечить
> их взаимодействие и всё такое.
>
> Если у тебя между классами сильные взаимосвязи, то лучше
> оставить их в одном юните. Если связей нет - раскладываешь
> по юнитам простым Copy/Paste. Что сложного такого-то?
Там пока только один класс TForm.
← →
sniknik © (2010-09-26 20:36) [7]а из ветки только один вывод - развод.
← →
Jumbo (2010-09-26 23:49) [8]...и сколько строк в этом мега-модуле?
← →
Guestt (2010-09-27 05:25) [9]
> Jumbo (26.09.10 23:49) [8]
>
> ...и сколько строк в этом мега-модуле?
Десятки тысяч.
← →
Guestt (2010-09-27 06:15) [10]Если у меня в Form1 некий элемент обозначен как
Form1 = class
Item1 : Integer
end;
А в классе куда я переношу код
NewClass = class
Item1 : ^Integer
end;
Причём этот указатель поставлен на Item1 из Form1. Так, чтобы через NewClass работать с переменными в Form1.
Тогда когда я переношу кусок кода из Form1 в NewClass, то мне надо везде заменить Item1 на Item1^. Можно ли как-нибудь сделать так, чтобы не надо было делать такую замену по всему коду?
← →
brother © (2010-09-27 06:48) [11]> Можно ли как-нибудь сделать так, чтобы не надо было делать
> такую замену по всему коду?
поиск - замена?)
← →
Guestt (2010-09-27 07:28) [12]
> поиск - замена?)
Вопрос был чтобы НЕ надо было делать замену.
← →
Jumbo (2010-09-27 08:23) [13]...
>> строк в этом мега-модуле?
>
> Десятки тысяч.
<...>
>NewClass = class
> Item1 : ^Integer
>end;
>
>Причём этот указатель поставлен на Item1 из Form1.
У тебя проблемы с проектированием. Большие проблемы. Переносом в новые модули ты их вряд ли решишь. И, судя по ходу твоих мыслей, проблем будет еще больше, гораздо больше. Оставь так, как есть, не усугубляй. А в следуюящий раз, преде чем начинать писать код, думай, что именно ты собираешься писать. Но уже не в этот раз, а в следующий. В этот раз - не надо. Не надо.
← →
Guestt (2010-09-27 08:35) [14]
> У тебя проблемы с проектированием. Большие проблемы.
Вот мне и нужен человек с опытом в проектировании, который знает и мог бы посоветовать как подобные проблемы решать, а не говорит про следующий раз.
К сожалению, хорошо разбирающихся в проектировании мало, так как большинство пишут маленькие программки и им это не нужно.
← →
Anatoly Podgoretsky © (2010-09-27 09:30) [15]
> У тебя проблемы с проектированием.
Зато нет проблем с верой. Верит в чудо.
← →
Думкин © (2010-09-27 09:35) [16]
> Вот мне и нужен человек с опытом в проектировании,
Фаулер?
> так как большинство пишут маленькие программкии не говори подружка, у самой муж пьяница(с)
← →
Плохиш © (2010-09-27 10:22) [17]Судя по соседним вопросам и примерам кода, то легче нанять программиста.
PS.
Проектирую системы. Очень дорого.
← →
boriskb © (2010-09-27 10:23) [18]
> Там пока только один класс TForm.
> > ...и сколько строк в этом мега-модуле?
Десятки тысяч.
Самоучка?
А проще не получится.
Переписать прогу с предварительным проектированием
← →
sniknik © (2010-09-27 10:35) [19]> который знает и мог бы посоветовать как подобные проблемы решать
я знаю... по постоянно приходится таким заниматься. как это делается (совет) - приносят/получают откуда то код, и я его переписываю, полностью, ругаясь и матеря на чем свет стоит отдел кадров, которые "набрали ламеров по обьявлениям".
после этого обычно из программы исчезают "барабашки", логи начинают показывать системные ошибки (типа "файл занят", а не отсебятный бред), программа начинает работать быстрее, цто перестает ругать windows за то что она такая кривая не приспособлена к нашей программе, а код становится на порядок меньше (вот ей богу, последний из > 6000 стал 664 (так и подмывало добавить еще 2 ;), не стал, но запомнил), при том, что дополнительных пару функций добавил)
в общем совет - ищешь программиста, платишь ему, и он все делает. другого варианта нет. человек который относится к классам как к набору несвязанных функций, плюет на принципы ООП, написать под него нормальную программу физически не способен. для этого ему нужно "ломать себя", а не переписывать модули с одной кривой реализации в другую не менее кривую.
← →
sniknik © (2010-09-27 10:36) [20]> Самоучка?
недоучка.
← →
@!!ex © (2010-09-27 11:33) [21]> [9] Guestt (27.09.10 05:25)
> Десятки тысяч.
"Это конец, Света."
Как можно в одном TForm столько кода сделать??
ООП зло, давайте все писать процедурами, чтоли??
← →
Ega23 © (2010-09-27 11:47) [22]
> К сожалению, хорошо разбирающихся в проектировании мало,
> так как большинство пишут маленькие программки и им это
> не нужно.
Отучиваемся говорить за большинство.
← →
Игорь Шевченко © (2010-09-27 11:55) [23]
> Отучиваемся говорить за большинство.
Большинство пишет лажу, неважно, какого объема
← →
Guestt (2010-09-27 15:57) [24]Удалено модератором
Примечание: Ты прав пользы ноль и не будет
← →
Ega23 © (2010-09-27 16:01) [25]
> А пользы другим от таких постингов - ноль.
Какая может быть польза? Судя по твоим обмолвкам - у тебя там жосткая задница, т.к. писалось без ума. И таки да, согласен, что раз во много твой код можно сократить.
Совет тут один - либо читай теорию и пробуй, либо найми программиста.
А если ты хочешь, чтобы тебе дали конкретный ответ, то и задавай конкретный вопрос, типа: "У меня есть сущность А, сущность В, сущность С, связаны они так-то и так-то, как бы их лучше разнести по модулям".
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2011.01.09;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.004 c