Описание тега os-agnostic
Программы, сценарии или процедуры, которые работают одинаково независимо от базовой операционной системы.
В работе, проектах с открытым исходным кодом и домашних животных иногда нам нужно заставить программы, скрипты и / или процедуры работать независимо от базовых операционных систем и / или библиотек. Вот несколько примеров различий, которые необходимо преодолеть:
- символ разделителя пути (
\
в Windows,/
в производных Unix); - наличие некоторых инструментов командной строки;
- необходимость / желание использовать встроенные функции для данной задачи (например, для повышения производительности).
На высоком уровне эти проблемы можно решить следующими способами:
- с помощью функций, которые абстрагируют эти различия;
- путем непосредственного тестирования наличия функции. Примером этого является обнаружение функции Javascript;
- путем обнаружения окружающей среды и действовать по-разному в зависимости от обнаруженной среды. Пример этого задокументирован Мартином Фаулером в его статье о Rake (в частности, см. Раздел об использовании собственных движков XSLT).