Экспортный метод в модуле с повторным использованием значений
Создание публичных методов в модулях с повторным использованием значений, является плохой практикой, так как усложняет архитектуру проекта и затрудняет поддержку существующей кодовой базы. Примером такой плохой практики является скрытие деталей реализации библиотеки от потребителя. Допустим:
- в первой версии библиотеки потребителям предоставлялась экспортная функция общего модуля с повторным использованием возвращаемых значений;
- но в следующей версии библиотеки это проектное решение пересмотрено в пользу «обычного» общего модуля, куда эта функция была перенесена (аналогично, если в обратную сторону).
В данном примере, для того чтобы избавить потребителя библиотеки от дополнительных усилий по замене вызовов «старой» функции на новую, рекомендуется сразу размещать экспортную функцию в «обычном» модуле, в его разделе «программный интерфейс». Тогда эта функция, в зависимости от текущего проектного решения, может вызывать служебную функцию из модуля с повторным использованием возвращаемых значений или из любого другого модуля, или непосредственно сама содержать реализацию. Однако для потребителя ее местоположение уже не будет меняться в следующих версиях библиотеки.
См. также
Экранирование кода
// sonar:PublicMethodInReuseModule:off
// sonar:PublicMethodInReuseModule:on