суббота, 3 сентября 2011 г.

Re: Проблема больших проектов и тысячи миграций

2011/9/4 alexey.petrushin <alexey.petrushin@gmail.com>:
> - не вижу как наличие в проекте зависимости ив виде дампа который
> живет своей непонятной жизню поможет тестированию вьюшек.

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

Так вот. Миграции -- это хорошо, удобно и правильно. Но вовсе нет такой
бизнес-необходимости что бы средний рельсо проект всегда из миграции
прокатывался вперед с самого начала. Ну не нужно это и всё, поэтому
если программист тратит время на то, что бы работала миграция
полугодовой
давности, техдир должен дать по шапке и намекнуть на то, что есть
существенно более важные тикеты. Как правило у таких программистов их
полно.

Что же касается дампа и тестов, то тут всё хитрее. Во-первых, в
живущем какое-то время проекте, обязательно надо придумывать схему
переливки или всей базы, или, что гораздо сложнее, её актуальной части.

Т.е. у девелопера на компьютере должна быть актуальная часть БД, как
будто он зашел на сайт сегодня. Это очень важно, иначе он начинает
работать со сферическими тестами в вакууме. Спасибо, я пытался
работать с программистами, которые больше 70% времени тратят на спеки
и упаковку кода в гемы с пулл-реквестами. Спасибо, такое даром не нужно.

Проблема таких людей заключается, видимо, в том, что они думаю, будто
полное покрытие тестами может привести к безбажному коду.
У меня для них огорчение: это невозможно, о чем существует
соответствующий набор математических теорем.


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

В случае, если программист упирается и работает на искуственных
данных, постериорные тесты он собирает на живых пользователях,
причем как правило такой деятель упирается и говорит: <<у меня всё
работает>>. Если залить базу к себе на компьютер, получается
собрать основную пачку проблем кода на собственном компьютере.


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

--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ

Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru

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

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