Хорошие предложения по организации файлов для разработчиков

Я немного борюсь с организацией папок, чтобы организовать множество проектов, над которыми я работаю. Я работаю на OS X - прямо сейчас я использую ~/Development/ в качестве корневой папки, и у меня много типов проектов. Например, у меня есть приложения для iPhone в папке ~/Development/Xcode.

Я разрабатываю на многих языках, от PHP до Ruby, Python и Objective-C. Так, например, у меня может быть несколько приложений с открытым исходным кодом на основе PHP, где я использую среду Zend. Некоторые из этих проектов предназначены для клиентов, другие представляют собой тесты/эксперименты при изучении нового языка или общие эксперименты.

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


person Paul Redmond    schedule 01.02.2011    source источник


Ответы (4)


Я нахожусь в похожей лодке, и у меня есть две папки в моем домашнем каталоге: Projects и Reference. Я не делаю различий в языке проекта. Код, над которым я работаю, помещается в Projects, а проекты, исходный код которых я хочу прочитать, — в Reference. Это полезно, потому что ввод ~/PrTab и ~/RTab в командной строке выполняется быстро, и я часто очищаю свой каталог Downloads.

Обычно у меня настроены псевдонимы для работы с проектами в командной строке. Например, мой проект gerbils имеет виртуальную среду Python, так что мой псевдоним g позволяет мне быстро выйти из новой оболочки:

function g () {
    export PIP_RESPECT_VIRTUALENV=true
    cd ~/Projects/gerbils
    . ../bin/activate
}
person a paid nerd    schedule 01.02.2011
comment
в отношении вашего аватара: ResEdit помог мне раскрыть некоторые пароли в открытом виде (из плохо закодированных расширений Mac) от компьютеров персонала в моей средней школе ... некоторые из которых не подходили для школьной среды. ›:) - person drudge; 02.02.2011

Я использую такую ​​структуру:

  • ~/projects
    • clients
      • client_a
        • project_b
      • client_c
    • personal
      • project_d
      • experiments
        • ruby
          • block_experiment
        • Луа
    • opensource
      • repo_name
person bobbywilson0    schedule 01.02.2011

Мой совет — всегда сначала организовывать на уровне проекта. Затем модули, которые имеют смысл. Кажется, что языки вступают в игру только тогда, когда модуль имеет несколько реализаций. В этих случаях я считаю, что создание собственного проекта модуля работает лучше всего.

$/Project/XXX


$/Project/YYY/Lang1
$/Project/YYY/Lang2

Затем, если XXX использует YYY, тогда его привязка является выходом YYY, а не источником YYY.

person Preet Sangha    schedule 01.02.2011

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

File Nexus и другие — это скорее замена Windows Explorer на стероидах, но они определенно имеют свое применение. Я все еще ищу автономные инструменты, сравнимые с Evernote, Zoho и т. д., которые работают со всеми моими текущими файлами.

Как и во всем остальном с компьютерами, «всегда есть способ, вопрос только в том, как это сделать».

person David Hobs    schedule 04.08.2011