Пушыстый (_winnie) wrote,
Пушыстый
_winnie

Кроссворд

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

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

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

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


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

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

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 3 comments