воскресенье, 21 апреля 2013 г.

О проектном коде и тестах

В отношении к коду - я в общем-то перфекционист. Я люблю "красивый" и "ровный" код. И чтобы его можно было легко поддерживать.

В отношении к тестам у меня выработались несколько иные критерии. Я уже писал - "лучше кривые и косые, но работающие два теста, чем один (да хоть сто) идеальных, но не написанных".

Тест для начала - ДОЛЖЕН БЫТЬ. Его надо написать с минимальными потерями, чтобы он проверял, то что должен проверять.

Не стоит тратить неделю на написание "идеального теста". Это действительно замедляет движение вперёд. "Огонь и движение". Главное - наличие результата.

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

Ещё раз повторюсь - "огонь и движение". Иначе заминки дают почву для рассуждений на тему - "ах тесты усложняют жизнь и снижают производительность". А там и до рассуждений - "детализация ТЗ снижает производительность" - недалеко.

Всё вышесказанное не означает призыва "метать дурно пахнущий код". Отнюдь - нет. Просто надо всегда помнить о темпе. И нельзя позволять себе находить "отговорки" и поле для неоправданного тайм-аута типа "я сейчас пару недель подумаю и напишу супер тест". Мой опыт подсказывает, что эти "пару недель" просто будут потрачены впустую.

Попробуйте. Может быть вам понравится.

Комментариев нет:

Отправить комментарий