Хотя вы - один разработчик, я бы подумал об использовании Методологии для вашей разработки.
Когда вы работаете в одиночку на Продукте, вам нужно будет заняться несколькими ролями, чтобы сохранить обзор.
Я бы порекомендовал использовать RUP-Process. Это гибкий подход к разработке, который можно использовать как небольшие, так и большие группы. Хотя вы работаете в одиночку, вы сможете воспользоваться этой методологией, так как это упростит вашу реализацию. Вы можете адаптировать методологию к вашим потребностям и решить, что вам нужно или нет.
RUP-Process, состоящий из 4 фаз.
Начало: На этой фазе вы собираете все требования. Это означает, что вы записываете то, что вы действительно хотите сделать, прежде чем начинать кодирование. Кодирование напрямую быстро ограничит ваше творчество, так как вы скоро столкнетесь с ошибками и забудете, что вы на самом деле хотите, потому что вам нужно исправить одну проблему. Возьмите неделю или две и запишите все, что вы ожидаете от своего приложения. Что ему нужно доставить или что может быть плюсом (например, в следующем выпуске).
Разработка: Сначала вы принимаете архитектурные решения. Какой db вы будете использовать. Какой язык и т. Д. Затем вы начинаете кодирование. Вы кодируете около 80% вашего приложения, оставляя жесткий материал вначале. На этом этапе вы должны закончить основные части графического интерфейса и привязать к методам, используемым графическим интерфейсом. Они не должны быть закончены.
Строительство Теперь вы решаете все проблемы с программированием и все небольшие ошибки, которые вы оставили на этапе разработки. Возможно, вы получите новые требования. Оцените, сколько времени вам потребуется, чтобы добавить их в этот выпуск. Затем вы можете решить, хотите ли вы закончить его или сохранить на следующей начальной стадии. Вы также должны завершить все комментарии к методам в своем приложении.
Переход Теперь вы тестируете продукт перед доставкой и исправляете последние ошибки. Также вы должны написать документацию о том, что у вас есть. Если у вас есть что-то в Inception, вам не должно быть сложно писать документацию.
По окончании вы можете начать новый цикл снова, начиная с момента создания.
МИНУСЫ: - Это может быть накладные расходы, имеющие методологию только один разработчик - Вы можете получить раздражен
ПРОФИ - Вы будете иметь хорошие требования - процесс разработки будет быстрее потому что вам не придется пересматривать свои дальнейшие шаги при разработке. Вы сделали это в начале - У вас будет хорошая документация на то, что вы создали - Вы можете построить график времени и предсказать, когда вы закончите - Вы можете предсказать, что будет готово с этой выставкой - Если вы нужна помощь, которую вы можете предоставить частям для других разработчиков. Вы готовы, если вам нужна помощь в какой-то точке.
На данный момент я являюсь единственным разработчиком проекта. С помощью этого Methodolgy мы можем отслеживать процесс, и это помогает координировать мои задачи.
Вы также должны определенно использовать GIT для обеспечения безопасности процесса.
ОБНОВЛЕНИЕ Планирование самой архитектуры/программного обеспечения.
Сначала вы должны проверить, где вы хотите использовать Программное обеспечение. Есть множество возможностей.
a. Веб-приложения b. Mac/Windows c. Iphone/Android и т. Д.
Первое, что вам нужно решить, - это где использовать Программное обеспечение. Если вы используете его на Mac или Iphone вы могли бы работать с яблоками нового языка Swift Если вы работаете на для Windows вы можете использовать C# В Andvantages этих языков является то, что они оптимизированы для системы и предоставит вам больше возможностей, чем Java или C++. Теперь это только один пример. Если вам нужна действительно быстрая программа, где вы можете сделать большую оптимизацию на нижнем уровне, вы можете использовать C++. Если вы хотите использовать приложение, которое теоретически можно использовать на обеих системах, вы можете использовать Java. Хотя по моему опыту вам придется делать много модификаций, если вы хотите опубликовать его на нескольких Plattforms.
Ваши навыки кодирования также важны. Это зависит от того, что вы можете кодировать и что вы готовы изучать. Каждый язык программирования оптимизирован для прошивки. Python, Javascript, Lisp и т. Д. Также являются отличными языками. Это зависит от того, что вам нужно.
Первый шаг
Определите поле деятельности -> выбрать подходящие языка:
Второй шаг
Решите, если база данных не требуется.
Если у вас есть простая программа, вам может не понадобиться база данных. Однако базы данных - отличный способ сохранить данные и предложить множество функций. Для локальных приложений вы можете использовать SQLite. Это простая легкая база данных, доступ к которой можно получить с любого языка.
Если вам нужна дополнительная база данных. Проведите исследование того, что предлагают базы данных и какие вам нужны.
Третий этап Начните создавать приложение (скелет) и проверьте, является ли ваша архитектура долговечной. Вы все равно можете изменить свою архитектуру на этом этапе, если вы сочтете это сложным.
Я дам вам краткий пример для приложения:
Вы хотите создать приложение, которое сортирует все ваши Mp3-файлы в плейлистах. В основном лучший игрок, то Itunes. Но вы хотели бы этого в нескольких системах.
Первого шага - Файл обработки (сложность низкая) - Несколько систем (высокая сложность) ->node-webkit Вы можете строить кросс Plattform приложений с помощью узла WebKit, где вы можете получить доступ к недоброжелателям папки. Соответствующий язык программирования будет Javascript при использовании HTML5, CSS, Jquery и т.д.
Второй шаг Для того, чтобы организовать MP3 файлы вам нужна база данных. Вы загружаете ссылки только на файлы в своей папке, поэтому сложность записей и загрузка базы данных низки. Здесь вы можете использовать SQLite DB. Вы можете использовать node-sqlite3 со своим приложением.
Третий шаг Создайте приложение для царапин, в котором вы можете загрузить файл или загрузить файл в папку. Посмотрите, работает ли настройка. Если да, продолжайте со зданием своего приложения. Если не начинать с Шаг первый и решить, что отсутствует.
Это определенно хороший момент, спасибо за это! Но что бы вы предложили в качестве хорошего способа планирования программного обеспечения (проектирование архитектуры, ...)? –