Рефакторинг и ЯП
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.11.04 00:02
Оценка: -5
Здравствуйте, Undying, Вы писали:

U>Т.е. рефакторинг ты не используешь? Т.к. рефакторинг как раз означает модифицирование кода с целью уменьшения имеющихся хаков (в частности "лишних" наследований) к минимуму.


Гы. ПК у нас С++-программист до мозга костей. А рефакторинг и С++ пока, что плохо совместимы. Так что плоды прогресса ему знакомы только по слухам.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>

22.11.04 12:29: Ветка выделена из темы Мэйнстрим vs. Самосовершенствование :)))
Автор: LaptevVV
Дата: 20.10.04
— AndrewVK
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[28]: Рефакторинг и ЯП
От: mihoshi Россия  
Дата: 05.11.04 05:34
Оценка: +4
Здравствуйте, VladD2, Вы писали:

U>>Т.е. рефакторинг ты не используешь? Т.к. рефакторинг как раз означает модифицирование кода с целью уменьшения имеющихся хаков (в частности "лишних" наследований) к минимуму.


VD>Гы. ПК у нас С++-программист до мозга костей. А рефакторинг и С++ пока, что плохо совместимы. Так что плоды прогресса ему знакомы только по слухам.


Может быть, ты имел в виду автоматизированный рефакторинг? Обычный рефакторинг "ручками" совместим с с любым ЯП, если, конечно, этот ЯП совместим с программированием
Re[29]: Рефакторинг и ЯП
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.11.04 18:31
Оценка:
Здравствуйте, mihoshi, Вы писали:

M>Может быть, ты имел в виду автоматизированный рефакторинг? Обычный рефакторинг "ручками" совместим с с любым ЯП, если, конечно, этот ЯП совместим с программированием


Это закат солнца вручную. И тут вполне с ПК можно согласиться. Ручная модификация объемного кода — это верный способ зашиться и нафигачить ошибок. То ли дело в Яве или Шарпе... выделил участок кода... выбрал вариант рефакторинга и через несколько секунд пол проекта изменено без единой ошибки. Крысотыща!
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[30]: Рефакторинг и ЯП
От: prVovik Россия  
Дата: 13.11.04 07:22
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>То ли дело в Яве или Шарпе... выделил участок кода... выбрал вариант рефакторинга и через несколько секунд пол проекта изменено без единой ошибки. Крысотыща!

Хм, ты это о чем? Если ты о переименовании чего-либо, то с этим и в С++ проблем нет. Компилятор сам ткнет носом в каждое место, где надо поменять идентификатор. Какие тут могут быть ошибки?
А если ты о рефакторингах типа выделения метода, то я не понял, с чего это поменяется пол проекта?
... << RSDN@Home 1.1.4 @@subversion >>
лэт ми спик фром май харт
Re[30]: Рефакторинг и ЯП
От: serg_mo  
Дата: 17.11.04 16:35
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, mihoshi, Вы писали:


M>>Может быть, ты имел в виду автоматизированный рефакторинг? Обычный рефакторинг "ручками" совместим с с любым ЯП, если, конечно, этот ЯП совместим с программированием


VD>Это закат солнца вручную. И тут вполне с ПК можно согласиться. Ручная модификация объемного кода — это верный способ зашиться и нафигачить ошибок.


А юнит-тесты на что?

VD>То ли дело в Яве или Шарпе... выделил участок кода... выбрал вариант рефакторинга и через несколько секунд пол проекта изменено без единой ошибки. Крысотыща!


Я делал рефакторинг в достаточно крупных проектах на Delphi, без каких-либо инструментов автоматизации. Было, конечно, достаточно много ручной работы, но вполне приемлемо. Так что осутствие автоматизированных средств — не повод отказываться от рефакторинга.
... << RSDN@Home 1.1.3 stable >>
Re[31]: Рефакторинг и ЯП
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.11.04 21:07
Оценка: :)
Здравствуйте, serg_mo, Вы писали:

VD>>Это закат солнца вручную. И тут вполне с ПК можно согласиться. Ручная модификация объемного кода — это верный способ зашиться и нафигачить ошибок.


_>А юнит-тесты на что?


Они как-то связаны с рефакторингом? Или мне нужно будет писать юнит тесты чтобы проверить качество рефакторинга?

VD>>То ли дело в Яве или Шарпе... выделил участок кода... выбрал вариант рефакторинга и через несколько секунд пол проекта изменено без единой ошибки. Крысотыща!


_>Я делал рефакторинг в достаточно крупных проектах на Delphi, без каких-либо инструментов автоматизации.


Сочувствую.

_> Было, конечно, достаточно много ручной работы, но вполне приемлемо.


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

_> Так что осутствие автоматизированных средств — не повод отказываться от рефакторинга.


Это повод, чтобы не рассматривать рефакторин в качестве основы творческого процесса, а рассматривать его как неотвратимое мучение.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[32]: Рефакторинг и ЯП
От: hrg Россия  
Дата: 18.11.04 06:40
Оценка:
VladD2 -> "Re[31]: Мэйнстрим vs. Самосовершенствование "

VD>>>Это закат солнца вручную. И тут вполне с ПК можно согласиться.

VD>>>Ручная модификация объемного кода — это верный способ зашиться и
VD>>>нафигачить ошибок.

_>>А юнит-тесты на что?


V> Они как-то связаны с рефакторингом? Или мне нужно будет писать

V> юнит тесты чтобы проверить качество рефакторинга?

Преложи еще способ достоверно убедиться, что ты не накосячил при
рефакторинге?

Yury Kopyl aka hrg | Гордость мешает доходам!
Posted via RSDN NNTP Server 1.9 gamma
Re[32]: Рефакторинг и ЯП
От: serg_mo  
Дата: 18.11.04 12:08
Оценка: +1
Здравствуйте, VladD2, Вы писали:

_>>А юнит-тесты на что?


VD>Они как-то связаны с рефакторингом? Или мне нужно будет писать юнит тесты чтобы проверить качество рефакторинга?


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

_>> Было, конечно, достаточно много ручной работы, но вполне приемлемо.


VD>Это приемлимость из серии раков на безрыбье.


В конце концов, не все IDE имеют такие средства, а некоторые языки вообще IDE не имеют.

VD>Это повод, чтобы не рассматривать рефакторин в качестве основы творческого процесса, а рассматривать его как неотвратимое мучение.


Не знаю, у меня никогда такого ощущения не было. Наоборот, всегда было приятно видеть, как в процессе даже ручных манипуляций код становится лучше
... << RSDN@Home 1.1.3 stable >>
Re[33]: Рефакторинг и ЯП
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.04 03:09
Оценка: -1
Здравствуйте, hrg, Вы писали:

hrg>Преложи еще способ достоверно убедиться, что ты не накосячил при

hrg>рефакторинге?

Провести его с помощью средств гаратнитующих это. Собственно об этом я с самого начала и говорил.

Более того. Тут уже не раз поднимался вопрос о применимости юнит-тестов для разных областей программирования и вроде как пришли к общему мнению, что юнит-тесты пригодны далеко не везде. Например, в создании компиляторов они довольно бесполезны. А вот автоматизация и обычное тестирование дает хорошие результаты.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[33]: Рефакторинг и ЯП
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.11.04 03:09
Оценка:
Здравствуйте, serg_mo, Вы писали:

_>На мой взгляд, делать рефакторинг кода без наличия юнит-тестов довольно опасно.


Я вот как-то делаю.

_>В конце концов, не все IDE имеют такие средства, а некоторые языки вообще IDE не имеют.


Ну, это их проблемы. Я выбираю языки и среды в которых рефакторинг имеется. Ручной рефакторинг — это суровая необходимость нежели оправданный выбор. И лучше чтобы суровостей было по меньше.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[34]: Рефакторинг и ЯП
От: hrg Россия  
Дата: 19.11.04 06:40
Оценка: 1 (1) +5
VladD2 -> "Re[33]: Мэйнстрим vs. Самосовершенствование "

hrg>>Преложи еще способ достоверно убедиться, что ты не накосячил при

hrg>>рефакторинге?

V> Провести его с помощью средств гаратнитующих это. Собственно об этом

V> я с самого начала и говорил.

т.е. ты настолько доверяешь этим средствам, что готов не проверять за нимим
код?

V> Более того. Тут уже не раз поднимался вопрос о применимости

V> юнит-тестов для разных областей программирования и вроде как пришли к
V> общему мнению, что юнит-тесты пригодны далеко не везде. Например, в
V> создании компиляторов они довольно бесполезны. А вот автоматизация и
V> обычное тестирование дает хорошие результаты.

При таком подходе тестеры ласты склеят при частом рефакторинге

Yury Kopyl aka hrg | Любой служащий должен строго выполнять свои
обязанности. А практически каждый занимается на работе чем хочет. (с)
Паркинсон
Posted via RSDN NNTP Server 1.9 gamma
Re[34]: Рефакторинг и ЯП
От: serg_mo  
Дата: 19.11.04 14:45
Оценка: 1 (1) +1
Здравствуйте, VladD2, Вы писали:

VD>Я вот как-то делаю.


Виртуоз . Но гарантий корректности работы программы после рефакторинга все равно дать не сможешь

_>>В конце концов, не все IDE имеют такие средства, а некоторые языки вообще IDE не имеют.


VD>Ну, это их проблемы. Я выбираю языки и среды в которых рефакторинг имеется. Ручной рефакторинг — это суровая необходимость нежели оправданный выбор. И лучше чтобы суровостей было по меньше.


Да кто же против? Конечно.
... << RSDN@Home 1.1.3 stable >>
Re[34]: Рефакторинг и ЯП
От: serg_mo  
Дата: 19.11.04 15:22
Оценка: 1 (1) +1
Здравствуйте, VladD2, Вы писали:

VD>Провести его с помощью средств гаратнитующих это. Собственно об этом я с самого начала и говорил.


Ну, автоматизированы далеко не все рефакторинги, к сожалению.

VD>Более того. Тут уже не раз поднимался вопрос о применимости юнит-тестов для разных областей программирования и вроде как пришли к общему мнению, что юнит-тесты пригодны далеко не везде. Например, в создании компиляторов они довольно бесполезны. А вот автоматизация и обычное тестирование дает хорошие результаты.


Не буду спорить, компиляторы не разрабатывал. И я бы не стал полностью доверять "обычному" (т. е. ручному? ) тестированию, т. к. тестеры — это люди, и как все люди имеют право на ошибку, неточность, порой даже небрежность. Кроме того, вряд ли тестеры смогут проверить всю функциональность программы. Как уже говорилось в этой ветке — повесятся.
... << RSDN@Home 1.1.3 stable >>
Re[35]: Рефакторинг и ЯП
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.11.04 01:25
Оценка:
Здравствуйте, hrg, Вы писали:

hrg>т.е. ты настолько доверяешь этим средствам, что готов не проверять за нимим

hrg>код?

Да. Проблем еще небыло.

hrg>При таком подходе тестеры ласты склеят при частом рефакторинге


Представь себе не клеятся. Иногда можно делать десяток мелких рефакторингов за день.

Более того. Я часто пишу код по схеме — продавливаем проблему как выходит, а затем причесываем код рефакторингом. Очень эффективно выходит.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[35]: Рефакторинг и ЯП
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.11.04 01:25
Оценка:
Здравствуйте, serg_mo, Вы писали:

_>Ну, автоматизированы далеко не все рефакторинги, к сожалению.


К сожалению.

Но мы работаем над тулом персистентного рефакторинга
Автор(ы): Чистяков Влад (VladD2)
Дата: 28.01.2004
.

_>Не буду спорить, компиляторы не разрабатывал. И я бы не стал полностью доверять "обычному" (т. е. ручному? ) тестированию, т. к. тестеры — это люди, и как все люди имеют право на ошибку, неточность, порой даже небрежность. Кроме того, вряд ли тестеры смогут проверить всю функциональность программы. Как уже говорилось в этой ветке — повесятся.


В том то все и дело, что есть задачи где делать тесты повесишся, но можно взять готовые. Для компилятора таким тестом является компиляция больших (чужих) проектов. Тоже вроде как автоматизированный тест.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[35]: Рефакторинг и ЯП
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.11.04 01:25
Оценка:
Здравствуйте, serg_mo, Вы писали:

_>Виртуоз . Но гарантий корректности работы программы после рефакторинга все равно дать не сможешь


Дык гарантии дают только в сбербанке. 98-ой понминшь?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[36]: Рефакторинг и ЯП
От: hrg Россия  
Дата: 22.11.04 08:25
Оценка:
VladD2 -> "Re[35]: Мэйнстрим vs. Самосовершенствование "

hrg>>При таком подходе тестеры ласты склеят при частом рефакторинге


V> Представь себе не клеятся. Иногда можно делать десяток мелких

V> рефакторингов за день.

V> Более того. Я часто пишу код по схеме — продавливаем проблему как

V> выходит, а затем причесываем код рефакторингом. Очень эффективно
V> выходит.

После причесывания тоже тестирование?

Yury Kopyl aka hrg | Хоббиты — маздай! Мордовия — фарева
Posted via RSDN NNTP Server 1.9 gamma
Re[36]: Рефакторинг и ЯП
От: hrg Россия  
Дата: 22.11.04 08:25
Оценка: :))) :))
VladD2 -> "Re[35]: Мэйнстрим vs. Самосовершенствование "

V> Здравствуйте, serg_mo, Вы писали:


_>>Виртуоз . Но гарантий корректности работы программы после

_>>рефакторинга все равно дать не сможешь

V> Дык гарантии дают только в сбербанке. 98-ой понминшь?


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

Yury Kopyl aka hrg | Любой служащий должен строго выполнять свои
обязанности. А практически каждый занимается на работе чем хочет. (с)
Паркинсон
Posted via RSDN NNTP Server 1.9 gamma
Re[36]: Рефакторинг и ЯП
От: serg_mo  
Дата: 22.11.04 10:21
Оценка:
Здравствуйте, VladD2, Вы писали:

_>>Не буду спорить, компиляторы не разрабатывал. И я бы не стал полностью доверять "обычному" (т. е. ручному? ) тестированию, т. к. тестеры — это люди, и как все люди имеют право на ошибку, неточность, порой даже небрежность. Кроме того, вряд ли тестеры смогут проверить всю функциональность программы. Как уже говорилось в этой ветке — повесятся.


VD>В том то все и дело, что есть задачи где делать тесты повесишся, но можно взять готовые. Для компилятора таким тестом является компиляция больших (чужих) проектов. Тоже вроде как автоматизированный тест.


Да, действительно. Приемочный тест.
... << RSDN@Home 1.1.3 stable >>
Re[36]: Рефакторинг и ЯП
От: serg_mo  
Дата: 22.11.04 10:24
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Дык гарантии дают только в сбербанке. 98-ой понминшь?


Э, ну я все-таки стараюсь не подражать этой глубоко прогнившей конторе и давать более правдоподобные гарантии .
... << RSDN@Home 1.1.3 stable >>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.