Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

ООП vs Copy/Paste   Найти похожие ветки 

 
StriderMan ©   (2006-07-27 14:37) [0]

частенько при разработке встает задачка сделать класс (форму, дата-модуль и т.п.) аналогичный уже существующему.

Что вы сделаете: скопируете и "подправите" аналог, или заведете базовый класс?

какими критериями вы руководствуетесь при выборе решения такой задачи?


 
Думкин ©   (2006-07-27 14:41) [1]

Прежде чем писать - подумаю и по мере возможностей спроектирую. Чтобы эта задача встала не случайно и влруг. А тогда и с базовым классом проблем нет.


 
For kaif   (2006-07-27 14:43) [2]

Если классы будут изменяться параллельно, то сделаю базовый класс, чтобы не делать двойную работу.
Если классы будут развиваться независимо, то скопирую, чтобы не делать лишнюю работу по созданию базового класса.


 
tesseract ©   (2006-07-27 14:44) [3]

как правило дописываю существующие классы / модули.
Если совсем часто используется -  в репозиторий.


 
Игорь Шевченко ©   (2006-07-27 14:44) [4]


> Что вы сделаете: скопируете и "подправите" аналог, или заведете
> базовый класс?


Заведу базовый. У меня времени совсем нету.


 
StriderMan ©   (2006-07-27 14:55) [5]


> Думкин ©   (27.07.06 14:41) [1]

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

Кстати параллельно встает вопрос:

есть десяток аналогичных классов, сделанных копи-пастом. периодически добавляются новые.

что делать?:
продолжать копи-паст
потратить время на написание базового класса и переписать старые,
писать только новые с базовым классом, а старые не трогать


 
For kaif   (2006-07-27 14:56) [6]

писать только новые с базовым классом, а старые не трогать


 
Игорь Шевченко ©   (2006-07-27 14:57) [7]


> Кстати параллельно встает вопрос:
>
> есть десяток аналогичных классов, сделанных копи-пастом.
>  периодически добавляются новые.
>
> что делать?:
> продолжать копи-паст
> потратить время на написание базового класса и переписать
> старые,
> писать только новые с базовым классом, а старые не трогать


Купить книжку Мартина Фаулера "Рефакторинг или улучшение существующего кода". Прочитать. Действовать по прочитанному.


 
StriderMan ©   (2006-07-27 15:01) [8]


> Купить книжку Мартина Фаулера "Рефакторинг или улучшение
> существующего кода". Прочитать. Действовать по прочитанному.

это дольше чем копи-паст или создание базовых классов :)))

а в электронном виде не имеется?


 
Игорь Шевченко ©   (2006-07-27 15:45) [9]


> это дольше чем копи-паст или создание базовых классов


Ты спросил - я ответил. Просьб тебя уговаривать ко мне не поступало.


> а в электронном виде не имеется?


Яндекс на что человеку даден ?


 
StriderMan ©   (2006-07-27 15:49) [10]


> Яндекс на что человеку даден ?

яндекс даден если не даден добрыми людьми нужный инф

уже ищу


> Просьб тебя уговаривать ко мне не поступало.

Мастер, ну уговорите меня, прошу Вас...!!!
это ж я так... в шутку ...  :)


 
troits ©   (2006-07-27 18:41) [11]

> StriderMan ©
Я тоже ищу эту книгу в эл. виде. Пока нашел нераспознанный pdf 20мб. Читать вполне можно. Если есть ссылка на распознанный, поделитесь, плз.
http://www.badongo.com/file/991103


 
Джо ©   (2006-07-28 05:02) [12]

Есть chm-файл, 1.56 MB, оригинальная английская версия. Если нужно кому, пишите на почту.


 
Думкин ©   (2006-07-28 05:21) [13]

> StriderMan ©   (27.07.06 14:55) [5]

Я понимаю, что часто там. Но при хорошем подходе изначально писавшего - такое редкость. А если подход не очень - то тут всякое. И ценность советов вряд ли превысит Фаулера.



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

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.056 c
2-1154810751
RGB
2006-08-06 00:45
2006.08.27
Справочник


2-1154094957
worldmen
2006-07-28 17:55
2006.08.27
Вызов справки из проги.


6-1143645292
redlord
2006-03-29 19:14
2006.08.27
Проблема с 21 портом (FTP) и не существующим хостом


3-1150877258
Mishenka
2006-06-21 12:07
2006.08.27
Запись файла нулевой длины


11-1131911053
igi
2005-11-13 22:44
2006.08.27
Работа с ini