Создание библиотеки активов кода

Я думал о создании какой-то библиотеки для всего программного обеспечения, разработанного внутри моей организации. Я хотел бы собрать любые идеи, которые могут иметь хорошие люди SO по этой теме.

Я полагаю, какой смысл прививать разработчикам преимущества написания повторно используемого кода, если в следующем проекте разработчики в первую очередь сделают файл -> новый из-за незнания того, какой код уже существует для повторного использования.

В качестве дополнительного преимущества я думаю, что наличие такой библиотеки побудило бы разработчиков больше думать о возможности повторного использования при написании кода.

Я хотел бы, чтобы эта библиотека была как можно более простой, возможно, у меня есть только два требования:

  • Поиск объекта
  • Может использоваться для многих типов компонентов: сборок, веб-сервисов и т. Д.

Я вижу, что основная информация, необходимая для каждого актива / компонента:

  • Название и версия
  • Описание / цель
  • Зависимости

Не могли бы вы записать дополнительную информацию?

Какая платформа для этого лучше всего подходит, например, вики, форум и т. Д.?

Что может сделать такую ​​программную библиотеку успешной, а не неудачной?

Все идеи приветствуются.

Спасибо

Редактировать:

Обнаружил эти похожие вопросы после публикации:

Как обеспечить правильное повторное использование кода?

Как вы способствуете использованию общих компоненты в вашей организации?


person Community    schedule 21.12.2009    source источник


Ответы (1)


Похоже, в вашей организации нет центрального хранилища кода. В зависимости от того, что вы делаете, это может быть связано с компатментализацией знаний из-за ограничений безопасности, тем фактом, что код внешнего поставщика включен в некоторые / все решения, или ваша компания еще не увидела преимуществ привлечения людей к повторному использованию, рефакторинг и пропаганда преимуществ такого репозитория.

The common attributes of solutions I have seen work at mutiple corporations are a multi pronged approach.

  1. Buy in at some level from the management. Usually it's a CTO/CIO that the idea resonates with and they claim it's a good thing and don't give any money to fund it but they won't sand in your way if they are aware that someone is going to champion the idea before they start soliciting code and consolidating it somewhere.
  2. Some list of projects and the collateral available in english. Seen this on wikis, on sharepoint lists, in text files within a source repository. All of them share the common attribute of some sort of front end search server that allows full text over the description of a solution.
  3. Some common share or repository for the binaries and / or code. Oftentimes a large org has different authentication/authorization methods for many different environments and it might not be practical (or possible logistically) to share a single soure repository - don't get hung up on that aspect - just try to get it to the point that there is a well known share/directory/repository that works for your org.
  4. Always make sure there is someone listed as a contact - no one ever takes code and runs it in production without at lest talking to the previous owner of it - and if you don't have a person they can start asking questions of right away then they might just go ahead and hit file->new.

Неудачные атрибуты я видел?

  1. N submissions per engineer per time period = lots of crap starts making it's way in
  2. No method of rating / feedback. If there is no means to favorite/rate/give some indicator that allows the cream to rise to the top you don't go back to search it often because you weren't able to benefit from everyone else's slogging through the code that wasn't really very good.
  3. Lack of feedback/email link that contacts the author with questions directly into their email.
  4. lack of ability to categorize organically. Every time there is some super rigid hierarchy or category list that was predetermined everything ends up in "other". If you use tags or similar you can avoid it.
  5. Requirement of some design document to accompany it that is of a rigid format the code isn't accepted - no one can ever agree on the "centralized" format of a design doc and no one ever submits when this is required.

Просто мои мысли.

person Community    schedule 21.12.2009
comment
+1 спасибо за идеи. У нас есть svn в качестве репозитория кода. Однако заставил меня задуматься, сможет ли документация по коду + какой-нибудь скрипт публикации пост-сборки хорошо развиваться. Нравится ваш комментарий о наличии в списке контактов - person Teto; 21.12.2009