Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Вниз

Вопрос к Мастерам: как рефакторить такой код.   Найти похожие ветки 

 
Черный Шаман   (2008-01-15 21:27) [0]

1. Программа представляет собой одну форму TMainForm с глобальным объектом MainForm.
2. Создано множество модулей с классами типа TControlCenter в которых в методах явно вызывается MainForm.объекты
3. Модули ссылаются друг на друга, причем все завязано на визуальные элементы MainForm.

При этом задание стоит полностью изменить визуальный дизайн приложения(на внутреннюю технологию скинов), но логика программы слишком завязана на конкретные визуальные элементы.

Пока есть такой вариант - создать в SVN новую ветку и создавая с нуля приложение потихоньку переносить в него старый код интегрируя с новый и убирая "лапшу".

Может есть способ получше? Все таки архитектором крупных проектов я не был, так что здесь есть люди поопытнее меня.


 
ketmar ©   (2008-01-15 21:38) [1]

создать — оно, конечно, хорошо. но я бы предложил сначала сесть, и нарисовать на листочке модель. а то чего там рефакторить, если не ясно, кто к кому цепляться должен, чтобы потом и с новым такая же фигня не получилась.


 
ketmar ©   (2008-01-15 21:39) [2]

а, да. извиняюсь за вмешательство, если что — у меня ж штаны не того цвета.


 
Alien1769 ©   (2008-01-15 21:42) [3]

ба, кетмар анкету поправил

зы сорри, за оффтоп


 
www   (2008-01-15 21:46) [4]


>  у меня ж штаны не того цвета.

это ты про

> кто к кому цепляться должен
?


 
Черный Шаман   (2008-01-15 21:55) [5]


> www   (15.01.08 21:46) [4]
>
>
> >  у меня ж штаны не того цвета.
>
> это ты про


Думаю, про значек :)


 
ketmar ©   (2008-01-15 22:12) [6]

>[4] www (15.01.08 21:46)
это я про вопрос к «Мастерам», коим я не являюсь за неимением верных штанов.


 
Alien1769 ©   (2008-01-15 22:18) [7]

дык ветка была про значки :))


 
ketmar ©   (2008-01-15 22:27) [8]

>[7] Alien1769 ©(15.01.08 22:18)
вообще-то я всего лишь усиленно намекаю на криво сформулированый сабж.


 
Kolan ©   (2008-01-15 22:32) [9]

Рефакторятт всегда одинакого — почуть чуть&#133

А какие методы использовать? Первое надо разорвать двунаправленые связи.
Есть такой рефакторинг Change bidirectional relationship to unidirectional(примерно так, могу точнее написать)&#133 Вот с его и начни.


 
Kolan ©   (2008-01-15 22:32) [10]

Change Bidirectional Association to Unidirectional



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.045 c
3-1191244296
Draught
2007-10-01 17:11
2008.02.17
Объеденить несколько строк из таблицы в отдну строку.


2-1201241651
cr@nk
2008-01-25 09:14
2008.02.17
Поиск делителей числа


15-1200149061
TUser
2008-01-12 17:44
2008.02.17
Turbo Delphi + Win 2003


2-1201253294
Nicola
2008-01-25 12:28
2008.02.17
Данные из массива


15-1196174198
TIF
2007-11-27 17:36
2008.02.17
Чего желаете?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский