Поэтому я решил начать проект личного программирования, просто чтобы попытаться улучшить свои навыки программирования и улучшить свои способности, чтобы лучше организоваться.
Проблема в том, что до сих пор я работал только над небольшими заданиями, не более нескольких классов (файлов, конечно) для каждого проекта на Java. Мы рассмотрели наследование и базовые структуры данных (связанный список и стек) в моем предыдущем зимнем семестре, и в настоящее время я использую структуры данных и алгоритмы, а также расширенный дизайн программ на C ++. Я намереваюсь сделать проект на C ++, так как он поможет мне с курсом.
Это означает, что у меня нет опыта организации более крупного проекта, и все это влечет за собой. Я хотел бы получить общий совет, связанный с тем, что я уже обсуждал. У меня пока нет идеи проекта, и я знаю, что это очень поможет.
В частности, меня особенно беспокоит резервное копирование, поскольку оно обеспечит безопасность моего проекта, а также возможность доступа с других компьютеров. Некоторое время я использовал Dropbox для своей домашней работы для всех моих курсов, но, услышав об их проблемах с конфиденциальностью, я не хочу ставить на это что-то важное. Это хороший сервис для частного и безопасного резервного копирования кода, но я могу работать с ним, не перезагружая его постоянно, чтобы просто расшифровать. Или я должен даже беспокоиться об этом и просто сделать его открытым исходным кодом? В любом случае было бы хорошо, если бы решение было бесплатным или очень дешевым.
В любом случае я думал о том, чтобы попробовать какое-то управление версиями, но опять же, я почти ничего не знаю об этом. Я думал об использовании NetBeans, так как он работает со всем, что мне нужно для школы, поэтому я могу также использовать его и для этого, поэтому управление версиями должно работать с ним. Также моя предпочтительная операционная система - Windows 7 64-bit.
Я слышал хорошие новости о Git, но, очевидно, NetBeans работает только с локальным репозиторием Git, поэтому я не уверен, насколько хорошо это будет работать с онлайн-репозиторием.
Кроме того, быстрый вопрос о версиях: должна ли программа быть в каком-то рабочем состоянии до того, как загружать ее в систему управления версиями, на сайте с открытым исходным кодом или нет?
Я знаю, что спрашиваю много, и держу пари, что я могу спросить еще больше. Я ищу столько советов, сколько могу получить, потому что действительно чувствую, что понятия не имею, что я делаю или чем занимаюсь.
Изменить: Конечно, код должен быть в состоянии работать в автономном режиме, когда я, например, еду домой.