Эссе о разработке игр, мышлении и книгах

Интеллект, компетентность и принятие решений

Часто, когда я встреваю в «политические» «дискуссии», мне начинают вменять примерно такое мнение: «людей низводим до уровня идиотов». Формулируется оно разными словами, но суть цитата передаёт ярко.

На самом деле, конечно, я так не думаю, и оппоненты путают два очень важных понятия: интеллект и компетентность. Их многие не разделяют.

Давайте разберёмся в чём отличие, к чему оно приводит и посмотрим с через эту призму на IT-кредиты.

Далее

Уникальные идентификаторы для связи исходников. Как?

Хочу странного, может подскажете способ сделать.

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

Фичей не в смысле больших user-story, а в смысле конкретных пунктов, реализацию которых надо контролировать. Например «имя гильдии должно быть уникально», «Это поле должно отображаться только залогиненому пользователю».

Фактически я уже так работаю, записывая каждую мелкую фичу в туду-листе и удаляя их по факту реализации. Не хочется, чтобы знания терялись. Логичный следующий шаг — хранить историю фичей и их реализации.

Вопрос вот в чём: как делать идентификаторы, которые будут связывать фичи с кодом?

Варианты, которые вижу:

  1. Писать руками. Проблемы: геморрой и простор для ошибок/опечаток.
  2. Плагин для emacs (любого другого редактора), который в файле с фичами генерирует уникальные идентификаторы, после чего копировать их куда надо. Проблемы: его надо сделать, нужно поддерживать уникальность между файлами, хочу фичи не только в отдельном файле, но и в коде, если это будет удобно.
  3. Литературное программирование: писать фичу сразу там, где реализуется. Проблемы: фича реализуется в нескольких местах (код, тесты, вёрстка, документация), поэтому идентификаторы всё равно нужны.
  4. Идентификатором делать сам текст фичи. Проблемы: занимает много места, текст может меняться и будет геморойно менять его везде.

Полезные gamedev ресурсы

На тостере спросили про интересные gamedev сайты.

По этому поводу я выгрузил список из 70 сайтов о разработке игр, на RSS которых я подписан.

Рассылки в формате OPML

Список ссылками под катом.

Далее

Автоматизация импортов в Python

Пример автоматизаиции импорта.

Пример автоматизаиции импорта.

Написал библиотеку для автоматического импорта модулей в Python.  Анализирует код и самостоятельно импортирует что надо. Называется smart imports: pypi, github.

Написал год назад (то есть год уже использую в своих проектах), но написать статью только сейчас руки дошли :-)

Документация пока находится на хабре.

Про кражу результатов выполнения тестовых заданий

Каррикатура из неизвестного источника. Если вы знаете кто автор, сообщите, пожалуйста.

Каррикатура из неизвестного источника. Если вы знаете кто автор, сообщите, пожалуйста.

По правде сказать, меня всегда выбешивали опасения что кто-то там украдёт чью-то работу по тестовому заданию. А тут на DTF очередной пост по этому поводу , так что я решил высказаться.

Ну бред же, ей богу. Бред сивой кобылы.

У нашего ИТ (не геймдева), действительно, есть похожая проблема. Но она заключается не в том, что у соискателей работу воруют. Она заключается в том, что соискатели думают что их тестовое задание в принципе возможно использовать в чём-то, кроме оценки их компетенций. Сюда же можно добавить школоту, которая считает, что можно набрать таких заданий и собрать из них рабочий проект. Последнее реально чистая школота из вконтактика, поэтому даже говорить об этом нет смысла.

Проблема не в злых конторах, а в кадрах у которых квалификация катастрофически не соответствует ЧСВ.

А работы ваши не нужны потому, что в любом долгосрочном проекте важны не N строк кода (картинок, нот, etc.), а человек который их создал, который в голове держит концепцию их создания, план развития, связи с другими частями проекта и прочее. Без этой информации такая работа - камень на шее проекта, который тянет его на дно.

Кроме того, обвинять конторы в том, что они украли что-то и выпустили - ещё большая ерунда. Люди не случайно принимают решения, а мозгом пользуются. Ну, некоторые из них. Если вам пришла в голову какая-то идея, то она пришла и к десятку других людей. Если идея толковая, её уже делают. Посмотрите хотя бы на недавние анонсы игровых облачных платформ. Никто же не обвиняет Apple, Google и прочих, что они друг у друга идеи стырили. Нет, они делают то, что диктует рынок.

А идеям без реализации цена 10 центов за дюжину.