Повторное использование, сокращение, переработка (код): использование экологически устойчивого программного обеспечения
Джейкоб Мэтисон
Потенциал и качество повторно используемых программных компонентов (RSC) могут повлиять на то, как мы воспринимаем устойчивость Интернета и «зеленые» цифровые продукты. Однако RSC являются одним из наименее заметных аспектов инновационного цикла компании-разработчика программного обеспечения или технологической компании и часто остаются в нижней части бизнес-бочки. Термин «многоразовый компонент» является слишком техническим для тех, кто не занимается технологиями и инновациями, и слишком расплывчатым для программистов (по понятным причинам), желающих выполнить свою работу с минимальными усилиями. Копирование и вставка нескольких строк кода может оказать влияние на устойчивое развитие, поскольку оно, намеренно или нет, следует основной линии вопросов: эффективно ли это? Легко ли это понять? Он модульный? Это экономически эффективно?
Понятно, что компании интересуются, как первые три вопроса повлияют на четвертый и последний вопрос. Но, как ни парадоксально, большинство из них не желают менять порядок измерения влияния на чистую прибыль. Если бы о возможности повторного использования программного обеспечения распространялось больше информации и осведомленности, стало бы очевидно, что, в качестве первого определения, «повторное использование программного обеспечения основано на предварительном планировании повторного использования программного компонента, который отвечает потребностям организаций, участвующих в разработке программного обеспечения в новых условиях». контексты». Планирование, вовлечение и стратегический дизайн выходят далеко за рамки веб-дизайна на основе компонентов (компоненты: подумайте обо всех без исключения элементах, которые видны пользователям при посещении веб-сайта или приложения).
Рост модульности дизайна, платформ без кода и готовых решений с популярными стеками технологий, таких как Vue.js и Laravel, — это не просто явление, связанное с программным обеспечением, а ответ на растущие требования потребителей к разнообразию продуктов в современном мире. очень короткий промежуток времени, но при этом гарантируя долговечность и актуальность продукта. Фактически, применительно к общим принципам проектирования, «[модульность] в проектировании можно, таким образом, определить как выбор границ проектирования продукта и его компонентов (…) таким образом, чтобы особенности и задачи дизайна были взаимозависимы внутри и независимы. между модулями».
В частности, в области технологий границы дизайна часто определяются наличием выделенных команд для внешнего и внутреннего интерфейса, разработки продуктов и UX/UI, а также других областей. Эти границы могут иметь множество вариантов; в основном компании-разработчики программного обеспечения выбирают модульные структуры, в которых функциональные элементы разрабатываются с целью обеспечения интерактивности как с конечным пользователем, так и между самими элементами дизайна. Многие известные библиотеки кода и библиотеки стилей, такие как Vuetify или Bootstrap, стремятся сохранить неизменными принципы дизайна (такие как читаемость и доступность).
Измерение устойчивости программного обеспечения часто может означать отслеживание затрат/выгод, а также экономические модели повторного использования. На самом базовом уровне устойчивость можно измерить по количеству написанных новых строк кода (что требует не только человеческих усилий, времени и профессиональных возможностей, но также снижает время загрузки, рендеринга и использования полосы пропускания). Даже в 1992 году эта концепция была далеко не новой: сколько бы новых строк кода ни было написано для проекта, существуют конкретные показатели для отслеживания чистой выгоды от повторного использования по сравнению с чистыми затратами на повторное использование. Сегодня были предложены модели автоматизации для измерения цикла разработки «поддержание-эволюция» для устойчивого развития программного обеспечения, в том числе с использованием подходов на основе моделей, алгоритмического прогнозирования или машинного обучения. Однако внедрение новых решений может оказаться дорогостоящим для малого и среднего бизнеса.
В ответ на этот вопрос исследователи Магго и Гупта говорят об этом менее заметном аспекте устойчивого программного обеспечения: «Существуют дополнительные затраты, необходимые для разработки повторно используемых программных компонентов с нуля, которые можно использовать для создания и укрепления своих программных резервуаров». Чтобы избежать этих дополнительных затрат, ключевым моментом является процесс оценки пяти факторов, который можно реализовать без агрегированных ресурсов.