почему библиотеки clojure не пытаются использовать уникальные имена для общих имен функций

Почему библиотеки clojure повторно используют часто встречающиеся имена функций, вынуждая вас пространство имен определяет их? Например, clojure.zip использует следующий, заменить и удалить которые уже существуют в ядре clojure, а «заменить» уже существует в clojure.string.

Теперь разработчик, вероятно, будет использовать какую-то аббревиатуру для пространства имен clojure.zip. поэтому в коде одного разработчика clojure.zip/next будет пространством имен, обозначенным как z/next, в коде другого человека как w/next и т. д.Это заставит вас оглянуться назад, чтобы увидеть что на самом деле представляет собой аббревиатура пространства имен, потому что разработчик мог создать свою собственную библиотеку, которая также использует функцию «далее»

. Почему бы не использовать zip-next, zip-replace и zip-remove, str-replace? Или что-то в этом роде

Тогда в коде людей будет непротиворечивая «квалификация пространства имен» и будет ясно, к чему относятся эти функции.

Между библиотеками не бывает сотен конфликтов имен. Я обычно вижу только два или три . Неужели так сложно явным образом сделать эти имена уникальными для библиотеки?

8
задан Afdfa Afsdfadsf 14 June 2012 в 06:08
поделиться