Больше, чем что-либо еще, пригодность для обслуживания делает код допускающим повторное использование.
Возможность многократного использования редко является стоящей целью сам по себе. Скорее это - побочный продукт записи кода, который хорошо структурирован, легко удобен в сопровождении и полезный.
, Если Вы намереваетесь делать повторно используемый код, Вы часто пробуете для принятия во внимание требований для поведения, которое могло бы требоваться в будущих проектах. Неважно, как хороший Вы становитесь в этом, Вы найдете, что понимаете эти соответствующие требованиям завтрашнего дня требования превратно.
, С другой стороны, если Вы запускаете с пустых требований текущего проекта, Вы найдете, что Ваш код может быть чистым и трудным и изящным. Когда Вы работаете над другим проектом, для которого нужна схожая функциональность, Вы естественно адаптируете свой исходный код.
я предлагаю смотреть на лучшие практики для Вашего выбранного языка программирования / парадигма (например, Шаблоны и ТЕЛО для Java / типы C#), Наклон / Гибкая литература программирования, и (конечно) книга "Завершенный Код". Понимание преимуществ и недостатков этих подходов улучшит Вашу практику кодирования никакой конец. Весь Ваш код тогда станет reausable - но 'случайно', а не дизайном.
кроме того, посмотрите здесь: Пишущий Удобный в сопровождении Код
Многие классы Qt являются производными от QObject, и хотя некоторые из встроенных классов интеллектуальных указателей связаны с QObject (или QSharedData), QSharedPointer и QScopedPointer шаблоны позволяют использовать указатели на что угодно.
Кроме того, вы найдете несколько шаблонов интеллектуальных указателей в Boost :