Лекция
Привет, Вы узнаете о том , что такое повторное использование кода, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое повторное использование кода, reuse code , настоятельно рекомендую прочитать все из категории Разработка программного обеспечения и информационных систем.
повторное использование кода (англ. code reuse) — методология проектирования компьютерных и других систем, заключающаяся в том, что система (компьютерная программа, программный модуль) частично либо полностью должна составляться из частей, написанных ранее компонентов и/или частей другой системы, и эти компоненты должны применяться более одного раза (если не в рамках одного проекта, то хотя бы разных). Повторное использование — основная методология, которая применяется для сокращения трудозатрат при разработке сложных систем.
Самый распространенный случай повторного использования кода — библиотеки программ. Библиотеки предоставляют общую достаточно универсальную функциональность, покрывающую избранную предметную область. Примеры: библиотека функций для работы с комплексными числами, библиотека функций для работы с 3D-графикой, библиотека для использования протокола TCP/IP, библиотека для работы с базами данных. Разработчики новой программы могут использовать существующие библиотеки для решения своих задач и не «изобретать велосипеды».
Программисты стремятся так проектировать свои системы, чтобы они были максимально модульны. В качестве абстракций, на основе которых можно построить модульность системы, могут выступать функции, сопрограмма, класс, протокол. Библиотека функций - хороший пример абстракции, удобной для реализации модульности программ и следования методологии повторного использования. Важным шагом на пути достижения максимальной модульности стал принцип иерархичного построения пространства имен.
Примером удачной реализации модульности и принципа повторного использования могут служить инструменты командной оболочки Unix-систем и стандартные классы Java, помещенные в иерархию пространства имен.
Шаблоны (см. стандартная библиотека шаблонов STL в языке Си++) функций и классов стали важным этапом продвижения методологии повторного использования в индустрию объектно-ориентированного программирования.
Иерархическая модульность системы позволяет реализовать эффективные методы управления разработкой, основанные на построении иерархий управления соответствующей иерархии модулей самой системы.
Иногда повторное использование кода представляет собой простое копирование некоторой части кода из существующей программы в другую (англ. Об этом говорит сайт https://intellect.icu . copy-paste). Это один из самых низкоуровневых подходов к повторному использованию. Но и он имеет место, особенно когда речь идет о повторном использовании кода «в малом» («reuse в малом»).
Метод повторного использования кода является важным компонентом реализации принципа метасистемного перехода в развитии индустрии программного обеспечения. Воплощение этого принципа в жизнь позволяет разработчикам оперировать высокоуровневыми понятиями (отобразить картинку, удалить таблицу из базы данных, найти все корни уравнения, сконвертировать файл и т. д.), а не низкоуровневыми (покрасить пиксел в красный цвет, обнулить регистр, сложить два числа, прочитать символ из файла и т. д.).
Рассмотрим достоинства и недостатки на примере библиотек функций.
Кроме немногочисленных, но очень важных достоинств метод повторного использования кода имеет ряд недостатков. Подключение к проекту сторонних библиотек автоматически приводит к необходимости контроля совместимости версий компонент создаваемой системы и версий используемых библиотек. Самым характерным примером такой ошибки считается авария ракеты-носителя «Ариан-5», вызванная использованием программного модуля, разработанного для ракеты «Ариан-4» .
Важно также отметить, что многие библиотеки коммерческие и требуют денежных затрат (с развитием движения свободного ПО это постепенно теряет актуальность). Кроме того, часто библиотеки недостаточно универсальны и не реализуют той функциональности, которая требуется создаваемой системе, либо, наоборот, слишком универсальны и в результате неэффективны, неудобны или содержат много избыточной (для данного проекта) функциональности. Можно, если позволяет лицензия распространяемой библиотеки, использовать ее исходные коды и модифицировать их в соответствии с необходимостью. Но после этого ответственность за поддержку функциональности библиотеки перекладывается на плечи разработчика новой системы. Также использование излишней модульности может привести к уменьшению скорости выполнения программы, когда скорость выполнения, заложенная в модуль, не может перекрыть издержки на обращение к этому модулю.
Данная статья про повторное использование кода подтверждают значимость применения современных методик для изучения данных проблем. Надеюсь, что теперь ты понял что такое повторное использование кода, reuse code и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Разработка программного обеспечения и информационных систем
Из статьи мы узнали кратко, но содержательно про повторное использование кода
Комментарии
Оставить комментарий
Разработка программного обеспечения и информационных систем
Термины: Разработка программного обеспечения и информационных систем