Login
Делать ли рефакторинг в такой ситуации?
NEW 13.01.09 13:44
1. Практически невозможно написать тест.
2. Времени в обрез.
3. Код - жуткая помойка.
4. Изменение вроде бы небольшое, но в будущем возможны и другие.
Пп. 1, 2 и 4 вроде бы голосуют против, но п. 3 орет очень громко за. Поделитесь опытом :)
2. Времени в обрез.
3. Код - жуткая помойка.
4. Изменение вроде бы небольшое, но в будущем возможны и другие.
Пп. 1, 2 и 4 вроде бы голосуют против, но п. 3 орет очень громко за. Поделитесь опытом :)
NEW 13.01.09 15:25
in Antwort Simple 13.01.09 13:44
IMHO. Не писать из-за пп 1 и 2. Когда появится время, то внести в план написание юнит-тестов, рефакторинг и вперед.
Как вариант, написать тесты только для требуемого изменения, позже писать тесты для новых изменений, а там глядишь, руки и до глобального рефкоринга дойдут.
Как вариант, написать тесты только для требуемого изменения, позже писать тесты для новых изменений, а там глядишь, руки и до глобального рефкоринга дойдут.
NEW 13.01.09 15:32
in Antwort megabyte 13.01.09 15:25
Да, я тоже в итоге склоняюсь к такому решению. Проблема в том, что настоящий тест сделать ваще нельзя: код можно выполнить только у клиента.
Писать юнит-тесты можно до усрачки: очень много данных. Пока охватишь все, поседеешь :( А переделывать 700-строчный спагетти без полных тестов скорее всего выйдет боком.
Писать юнит-тесты можно до усрачки: очень много данных. Пока охватишь все, поседеешь :( А переделывать 700-строчный спагетти без полных тестов скорее всего выйдет боком.
NEW 13.01.09 15:50
in Antwort Simple 13.01.09 15:32
Можно только посочувствовать. 700 строчек одним методом/ф-цией чтоль? :-)
NEW 13.01.09 16:16
in Antwort Simple 13.01.09 13:44
По-моему 1 и 4 - тоже за. По поводу 2 - надо убеждать менеджмент, что так работать нельзя. По поводу 4 - если изменение локальное, то нельзя вычленить этот кусочек в отдельную функцию/класс, и написать к нему тесты?
NEW 13.01.09 16:18
Даже с моками нельзя оттестировать?
in Antwort Simple 13.01.09 15:32
В ответ на:
Проблема в том, что настоящий тест сделать ваще нельзя: код можно выполнить только у клиента.
Проблема в том, что настоящий тест сделать ваще нельзя: код можно выполнить только у клиента.
Даже с моками нельзя оттестировать?
NEW 13.01.09 16:52
in Antwort megabyte 13.01.09 15:50
у нас есть в проекте функция почти на 2000 строк - когда я в нее смотрю, обычно требуется пакетик, как в самолете выдают :-)
13.01.09 17:41
in Antwort AlexOtt 13.01.09 16:52
А что послужило причиной для такой длинной ф-ции? Нерадивый студент? :-)
NEW 13.01.09 18:58
in Antwort scorpi_ 13.01.09 16:16
Я уже начал. Кроме того, агитирую перейти на svn и написать build script.
Кстати, не знаешь, есnm такой тул dsp -> jam?
Кстати, не знаешь, есnm такой тул dsp -> jam?
NEW 13.01.09 19:01
in Antwort scorpi_ 13.01.09 16:18
Кажется, я опять что-то новое щас узнаю :-D Пошел в гугл.
NEW 13.01.09 19:02
in Antwort megabyte 13.01.09 17:41
Причина обычно одна и та же: некогда сделать как положено.
NEW 13.01.09 20:09
in Antwort Simple 13.01.09 19:48
какой язык-то? :-) для С++ я пользуюсь boost::test, для эрланга - eunit, haskell - quickcheck, common lisp - xlunit
NEW 13.01.09 20:10
in Antwort megabyte 13.01.09 17:41
желание делать только быстрые исправления ошибок, а не пытаться перерабатывать архитектуру/переписывать функционал
NEW 13.01.09 20:11
in Antwort Simple 13.01.09 18:58
мы пользуемся сmake в качестве кросс-платформенной системы сборки. ну и интеграция с ctest + прокидка данных в dashboard тоже имеют свои плюсы
NEW 13.01.09 20:31
in Antwort Simple 13.01.09 18:58
Господи, у вас шестёрка что ли? 
По инструментам - я голосую за выбор Алекса: Boost.Test и CMake.
Что касается mock-объектов, С++-frameworks меня не вполне удовлетворяют, смотри сам что тебе подойдёт: http://stackoverflow.com/questions/38493/are-there-any-good-c-mock-object-framew...

По инструментам - я голосую за выбор Алекса: Boost.Test и CMake.
Что касается mock-объектов, С++-frameworks меня не вполне удовлетворяют, смотри сам что тебе подойдёт: http://stackoverflow.com/questions/38493/are-there-any-good-c-mock-object-framew...
NEW 13.01.09 21:28
in Antwort AlexOtt 13.01.09 20:09
Я узкий специалист :) С++. boost::test не подходит из-за компилятора.
NEW 13.01.09 21:29
in Antwort scorpi_ 13.01.09 20:31