?

Log in

No account? Create an account
nyaload

Журнал Пушыстого

Журнал Пушыстого

Previous Entry Share Next Entry
Кроссворд
nyaload
_winnie
Решал тут один кросворд недавно.
Понял, что составление кроссворда мне напоминает создание сложной архитектуры программы в ограниченных ресурсах (любых, у кроссворда два ортогональных ограничивающих измения, у работающих программ - много).
Если поле для кроссворда большое и слов мало, то слова в клеточках можно кинуть абы как, даже без пересечения.

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

В конце концов кроссворд становится сложно переплетённым, вручную составлять его уже невозможно. Для замены одного слова на другое надо заново переставить все остальные слова, и не факт что получится, возможно надо будет пару других слов удалить и заменить на другие.

Затем начинают появляться приклеенные бумажные ленточки через третье измерение из одной части в другую, где-то в словах пропускают неважные буквы, или кроссворд становится многослойными и недоступным для человеческого взгляда, единственный способ работы - генерировать в памяти компьютера и смотреть на его разные проекции и графики ("доля слогов 'ква', гистограмма разделения одной клетки n словами").


Например, из программирования графики - "Сделали клевые тени, сделали красивую воду, починили баг «тени не отражаются в воде», FPS упал в четыре раза"

Или вот maven для Java. Обычно в программах сборки всегда есть много разных способов сделать одно и тоже. Одно поэффективней, другое попроще. Когда же я пытаюсь что-то сделать с maven - я обычно сначала обчитываю несколько страниц с гугля, официальную документацию, что-то с блогов и stack overflow, нахожу баг в их баг трекере (со статусом Open или "будет починено в maven3"), плюю и обмазываю maven слоем питон-скриптов. Очень сложно составлять кроссворды с maven. Самое обидное, что эта сложность ничего не даёт, ни эффективности, ни работающей автомагии. Исключение - менеджмент зависимостей внешних библиотек и jar-hell, но это опять же решение проблемы созданной на пустом месте, когда для склеивания строчек и чтения файла надо скачивать библиотеку от гугля или apache foundation, и есть 100 разных версий логирования, загрузки файлов и склеивания строк.


  • 1
А Вы не используйте Maven. Используйте ant. Мы пробовали в Аллодах ant и достаточно было комфортно.

  • 1