Страницы

Ограничение словаря идентификаторов

Типичное программирование не требует такого богатого набора понятий, какой существует в естественных языках. Можно было бы использовать достаточно ограниченный набор слов для сложносочинённых идентификаторов, что упростило бы их запоминание и использование. Однако при отсутствии контроля над словарём разработчик склонен к использованию более широкого словарного запаса за счёт ненужной(?) синонимизации. Если снабдить средства трансляции дополнительным контролем за словами, используемыми в программе, за счёт ведения общего словаря ограниченного размера, можно было бы получить интересный результат.

Чему ещё может помочь такой инструмент?

  1. Избеганию омонимов и достижению двунаправленной однозначности
  2. Слежению за способами комбинирования слов в иденитификаторах для избегания формирования разных идентификаторов со схожими смыслами
  3. Поддержанию общего набора определений, особо полезного для неологизмов и нераспространённых сокращений
  4. Интернационализации исходных кодов
  5. Создание новых, логически составленных терминов для ясного и, может быть, краткого обозначения.

Наследие в развивающейся системе без раздувания сложности

Прилагательные «совершенный» и «завершённый» имеют разный смысл, но похожи внешне совсем не случайно. По-настоящему завершить можно только совершенное творение, а несовершенное всегда открыто для доработки, хотя бы и по принципу каши из топора. Если технология востребована, то доработки ей не избежать, особенно в изменяющихся условиях. Но если технология лежит в основе других разработок, то это накладывает на сопровождающих обязательства по поддержке наследия.

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