Мягкое кодирование - Softcoding

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

Практика программирования

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

Этот термин обычно используется там, где мягкое кодирование становится антипаттерн. Абстрагирование слишком большого количества значений и функций может привести к большим сложностям и проблемам с обслуживанием, чем при изменении кода при необходимости. В этом смысле мягкое кодирование было рассмотрено в статье о Ежедневный WTF.[1]

Потенциальные проблемы

В крайнем случае, программы с программным кодом разрабатывают свои собственные плохо спроектированные и реализованные языки сценариев и файлы конфигурации, для редактирования которых требуются продвинутые навыки программирования. Это может привести к созданию утилит для помощи в настройке исходной программы, и эти утилиты часто сами становятся «программируемыми».

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

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

Достижение гибкости

Существует несколько законных шаблонов проектирования для достижения гибкости, которую пытается обеспечить мягкое кодирование. Приложение, требующее большей гибкости, чем требуется для файла конфигурации, может выиграть от включения язык сценариев. Во многих случаях подходящим дизайном является предметно-ориентированный язык интегрирован в устоявшийся язык сценариев. Другой подход - переместить большую часть функций приложения в библиотеку, предоставляя API для быстрого написания связанных приложений.

Другие значения

В особенность дизайна, softcoding имеет и другие значения.

  • Жесткое кодирование: функция закодирована в системе, не допускающей конфигурации
  • Параметрический: функция настраивается с помощью таблиц или файлов свойств с ограниченными параметрическими значениями
  • Мягкое кодирование: функция использует «движки», которые выводят результаты на основе любого количества параметрических значений (т. Е. Бизнес-правил в BRE ); правила закодированы, но существуют как параметры в системе, написанные в форме скрипта

Смотрите также

Рекомендации