metaclass: (Default)
[personal profile] metaclass
По мотивам предыдущего поста про taucraft: решарпер там или не решарпер, но Test-Driven-Development штука (вроде бы) объективно полезная.

При этом я почти уверен, что я TDD не использую, т.к. уже 15 лет занимаюсь всякой хренью в экстренном темпе, тесты у меня все заключаются в "проверить 10 раз чтобы миграция 30 Гб БД прошла успешно" и "отчетность видна от имени пользователя, который ей будет пользоваться".

Правильность же реализации/рефакторинга/замены всего с нуля проверяется за счет двойной записи бухгалтерии, наличия нескольких путей расчета одной и той же цифры и статических гарантий (т.е., например, я никогда не стану делать отчет отдельными запросами по списку аналитических кодов, если его можно сделать одним select/group by, при этом в него нужная аналитика попадет гарантированно). Плюс функциональщина, статические типы, кодогенерация - ну невозможно ошибится в коде, если у тебя источник информации для кода всегда один. А ошибки вида "не так спроектировали" - тестами не лечатся.

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

Проблема в том, что у меня совершенно нет критериев оценки, где я прав и пропускаю ненужные buzz-words мимо ушей, а где не прав, и упускаю полезные инструменты. Потому что на всех работах инструменты/платформы/методики работы выбираю я и обсудить этот выбор на адекватном уровне не с кем.
Раньше хотя бы был вменяемый критерий "успеем проект сдать вовремя или не сделаем вообще", а сейчас и он смысл потерял - это вообще перестало зависеть от используемых технологий, а стало зависеть от наличия бабла у клиентов и правильной организации труда.

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

Date: 2012-09-25 10:52 am (UTC)
From: [identity profile] jakobz.livejournal.com
Ну, перегибать палку, конечно, не стоит. Я тесты где-то пишу, где-то нет. До или после написания кода - тоже по вкусу. Для меня повод написать тест - это или если видишь что руками проверять будет геморнее, или если есть неиллюзорный шанс что кто-то что-то по непониманию поломает.

Date: 2012-09-25 01:20 pm (UTC)
From: [identity profile] dr-hyder.livejournal.com
Ну TDD хотят писать функциональные тесты перед кодом, не юнит-тесты. Имхо писать функциональные тесты перед кодом в некоторых ситуациях имеет смысл а в некоторых не имеет, это не важно. Смысл в том что они не говорят писать ВСЕ тесты перед кодом.
(deleted comment)

Date: 2012-09-25 07:37 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Проверить, что программа (или ее часть) выполняет свою работу. Т.е. соответствует ТЗ.

Date: 2012-09-25 08:11 pm (UTC)
From: [identity profile] dr-hyder.livejournal.com
Функциональные тесты. (http://en.wikipedia.org/wiki/Functional_testing)
Я не очень понимаю в чём причина того что тут народ, по видимости, игнорирует мейнстримные практики. И практики и собственно терминологию - юнит тесты, функциональные тесты, интеграционные тесты и т.п. Народ то ли их тупо не знает, то ли считает придумками "кровавого энтерпрайза", которые нужно игнорировать по определению. Потом правда выходит что своими словами пытаются что то такое давно разжёванное в индустрии преподнести, наталкиваясь на совершенно те же грабли, но при этом каждый говорит на своём языке, что пониманию не способствует.

Date: 2012-09-25 08:28 pm (UTC)
From: [identity profile] metaclass.livejournal.com
[livejournal.com profile] raydac частично объяснял - заказчики не совсем понимают, зачем им качество, и это отношение понемногу добирается и до разработчиков.
Впрочем, программистское ковбойство всегда было популярно, а промышленная разработка считается вредными придумками менеджеров (и часто именно так и есть - вместо внедрения нормальных процессов разработки внедряется карго-культ).

Date: 2012-09-26 07:08 am (UTC)
From: [identity profile] gineer.livejournal.com
Уже давно добралось... особенно до всяких дотНэтчегов и пХпшников. :))))

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 8th, 2025 01:21 am
Powered by Dreamwidth Studios