Организация, хранение и отслеживание кода для повторного использования

Много месяцев назад я начал хранить свою музыку в формате MP3. Скачал как сумасшедший и просто закинул все в папку. После того, как я собрал тысячи песен, у меня случился большой беспорядок. После двух лет систематизации всей музыки в свободное время я добрался до раздела «D» моей библиотеки. Я начинаю писать код ежедневно и хотел бы сохранить многое из того, что я делаю, для повторного использования и использования в будущем. Я часто использую Visual Studio и иногда Eclipse, но я также занимаюсь веб-разработкой. Прямо сейчас у меня есть папка на внешнем диске под названием Projects, и внутри этой папки у меня есть код, который я хочу сохранить, с разбивкой по соответствующей среде IDE, а затем по языку, на котором он был разработан. Сейчас это работает нормально, но я боюсь через несколько лет в нем может стать трудно ориентироваться, и я не хочу еще одного беспорядка, такого как моя музыкальная библиотека. Каковы хорошие способы отслеживания проектов кода и программирования, а также упрощения навигации и повторного использования в будущем?


person Community    schedule 29.07.2010    source источник
comment
Добавлен @jtbndes, также добавлен субъективный тег.   -  person ubiquibacon    schedule 29.07.2010
comment
Сегодня я думал о той же проблеме. Это не совсем специально для этой цели, но я собираюсь начать использовать документы Google для хранения своих фрагментов кода, поскольку у меня уже есть учетная запись Google. Я бы хотел увидеть несколько хороших ответов на этот вопрос, если есть что-то получше.   -  person Merlyn Morgan-Graham    schedule 31.07.2010
comment
У меня есть пара друзей (которые, по общему признанию, лучшие программисты, чем я), которые используют Google Code, но я никогда не был большим поклонником подобных онлайн-сервисов. Если все попадает в фанат, я хочу, чтобы все мои вещи были со мной, а не на каком-то удаленном сервере.   -  person ubiquibacon    schedule 31.07.2010
comment
Кстати, у ваших MP3 есть метаданные? Если да, то есть много продуктов, которые помогут вам в этом.   -  person JoelFan    schedule 02.08.2010


Ответы (4)


Я использую репозиторий Subversion, чтобы сохранить код на будущее. В моем репозитории у меня следующая структура папок:

\
|- Project1\
|- - Trunk\
|- - Branches\
|- - Tags\
|- Project2\
....

Это работает для меня, и у меня есть большие и маленькие проекты, которые я кодировал со средней школы в этом репозитории. Если я, например, хочу перенести проект, который я написал для Linux, в Windows, я создаю ветку, которую я, например, называю Win32-port. А когда у меня есть версия проекта 1.0, я создаю тег с именем 1.0.

Используя этот метод, вы также можете настроить сценарии резервного копирования и сохранить резервную копию в другом месте. (Для этого я использую задание cron и несколько скриптов на Python, но все зависит от того, какую систему использует сервер.)

Книгу о подрывной деятельности можно бесплатно скачать здесь: Ссылка

person Community    schedule 03.08.2010
comment
Спасибо, я много слышу о подрывной деятельности, но никогда не проверял ... Думаю, сейчас буду :) - person ubiquibacon; 17.08.2010

Для Mac OS X есть красивый Фрагменты:

snippets
(источник: snippetsapp.com)

Кроме того, новый Xcode 4 будет иметь встроенную поддержку пользовательских фрагментов кода.

person Community    schedule 29.07.2010
comment
Думал, что комментарий Visual Studio выдал бы его, но я все равно должен был указать, что я человек Windows :) Это может быть хорошей информацией для других, которые это читают. - person ubiquibacon; 29.07.2010

На самом деле это не решит вашу проблему с организацией, но вы все равно будете более продуктивны, используя сниппет, будь то внутри Eclipse или внутри Visual Studio.

Вот краткое руководство по фрагменту в Eclipse: http://www.dansshorts.com/post/creating-snippets-in-eclipse

А вот объяснение, как их создать и связать с ключевым словом в Visual Studio 2010: http://www.visualstudiotutor.com/2010/02/create-snippet-visual-studio-2010/

person Community    schedule 02.08.2010

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

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

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

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

person Community    schedule 02.08.2010