В предыдущей статье уже было рассказано о том, что происходит при попытке повысить code re-use или хотя бы разобраться, почему процент повторно используемого кода даже в рамках одного проекта очень низок. Сейчас настало время ознакомиться с интересной статистикой на эту тему.

    Некоторое время назад, будучи разработчиком опенсорсного софта с мировым именем, принял участи в опросе на тему «Важность повторного использования кода в opensource проектах» проводимого одним германским университетом (насколько я помню).

    Один из ключевых вопросов касался используемой лицензии.

    Подавляющее большинство опрошенных создает свои проекты с GPL/LGPL лицензиями. Проблема в том, что на западе предпочитают с кодом, распространяемым под такими лицензиями, по возможности не связываться, а выбирать решения с BSD/MIT лицензиями. Так шанс нарваться на копирастов от opensource’а минимален. Поэтому если хотите популярности – выбирайте BSD. А лучше лицензируйтесь сразу под несколькими лицензиями и предоставляйте конечному пользователю право выбирать, какая лицензия ему больше подходит. Кстати, в этом же опросе очень многие респонденты отметили сложности с лицензированием при повторном использовании.

    Не менее важно на каких языках создаются эти проекты.

    Вскрытие в очередной раз показало, что могучая тройка Java/C++/C рвёт всех своих конкурентов. В этом чарте, кстати, C++ обгоняет C, в то время как в рейтинге TIOBE проценты распределены практически с точностью до наоборот. Если есть свобода выбора, то народ предпочитает использовать более продвинутый, хотя и более сложный C++.

    Ну и дальше пошли вопросы непосредственно по теме.

    Оказалось, что программисты разделились на две крайности. На тех, кто использует сторонние компоненты по-минимуму, и тех, кто юзает их на всю катушку. Ситуация с использованием компонент не такая уж и плохая на мой взгляд.

    Однако, не смотря на это, количество строчек кода утащенных из различных источников в 70% случаев не превышает 10% кода всего проекта.

    Ну тут вообще всё грустно. 39% ничего не делают, чтобы их код было проще реюзать. Оно в общем-то не удивительно – никому не захочется тратить лишние ресурсы на действия, польза от которых в краткосрочной перспективе достаточно призрачна.

    Скачать отчет полностью

    Еще статьи о программировании и создании ПО