Привет.
В посте Тесты, которые тестируют тесты я описал свой взгляд на верификацию программ через дублирование их логики в виде отдельной модели и последующее сравнение с ней. В качестве частного случая выступили юнит-тесты.
В этот раз, опираясь на изложенные идеи, я попробую сформулировать общий подход к оценке уровня верифицированности ПО.
Сначала я хотел назвать этот текст «Зачем нужен бизнес-план», но к чему себя ограничивать? План — он и в Африке план, не важно для чего. Тот, что для бизнеса, называется бизнес-планом. Тот, что для эвакуации, называется, как ни странно, планом эвакуации. И так далее.
Но идея текста таки пришла из области, где актуальны бизнес-планы. Часто стал встречаться с высказываниями о том, что «бизнес-план, конечно, нужен, но вот конкретно в нашем случае он пользу не принесёт потому, что»:
Сам я тоже страдал этими тараканами, но так получилось, что периодически разного рода планы составлять всё-таки приходилось. И хочу вам сказать — планы делать полезно и нужно.
Но сначала…
Животрепещущий вопрос, не правда ли?
Меня уже 3 года как им пытают персонально, поэтому я решил попытаться рассказать всё-таки почему. Рассказывать, конечно, буду со стороны разработчика-одиночки. В командах побольше есть некоторые нюансы, но суть та же.
Для затравки приведу небольшую иллюстрацию, смысл её, думаю, понятен.
На dev.by недавно создали безграмотный опрос «Эмиграционные настроения белорусских айтишников» (ссылка удалена). Поскольку это явно не последнее их «исследование», рискну поучить авторов dev.by жизни проводить грамотные социологические опросы.
Поскольку я не социолог, расписывать всё не буду, приведу просто этапы, которые необходимо было сделать при хоть сколь-нибудь грамотном подходе.
Недавно Blizzard анонсировали жетон WoW — аналог PLEX из EVE, который появился аж в 2008 году. Об идее, положенной в основу этих механик, я и хочу поговорить.
PLEX, жетон WoW — это внутрииговые предметы, которые можно купить за реальные деньги и обменивать как обычные предметы внутри игры. Жетон WoW имеет некоторые ограничения, не принципиальные для этого текста. При использовании оба продлевают время подписки.
Далее я буду упоминать только PLEX, потому что звучит круче. PLEX, PLEX, PLEX…