Задать вопрос

Как писать большие проекты?

доброй ночи. Сейчас начал писать приложение, с кучей настроек. Ну например выбрал 1 элемент, он влияет на следующие действия, если выбираешь другой элемент, то уже будут другие значение в последующих действиях. Или как в играх, выбрал уровень сложности, или покупка оружия у которых разная характеристика, и это влияет также на следующие действия. Я подумал, как это дело все писать по грамотному. Опыта в таких проектах 0. Что можете посоветовать, подсказать, показать.
  • Вопрос задан
  • 1600 просмотров
Подписаться 12 Оценить Комментировать
Решения вопроса 1
@islk
20+ лет программирования
Вообще говоря, проектирование больших систем - это целый большой раздел науки/технологии программирования, который довольно отчетливо выделяется из программирования вообще, мало зависит от других разделов и интенсивно развивается. Существуют разные подходы и разные более-менее устоявшиеся технологии, даже стандартные технологические процессы. Используются специальные интеллектуальные инструменты (см. напр. UML) и соответствующие программные инструменты. Существует, активно используется и развивается множество типовых проектных решений для разных случаев жизни - шаблоны (aka паттерны) проектирования, знание и использование которых которых ускоряет процесс и снижает вероятность неудачных решений - см. напр. Гамма, Хелм и др. - "Приемы объектно-ориентированного проектирования - паттерны проектирования". Существуют различные подходы в организации самого процесса проектирования. Эта наука (проектирование программ) близко лежит к организации бизнеса, используется много общих подходов (в частности, в проектировании бизнес-процессов используется BPML - родной брат UML)
Так что в два слова ответить на ваш вопрос трудно. Думайте, рисуйте схемы, погуглите, почитайте что-то по этим темам (хоть с википедии начните - https://ru.wikipedia.org/wiki/UML), пытайтесь что-то хотя бы частично в своей работе использовать.
С этими темами познакомиться хотя бы поверхностно следует любому программисту, ну а если вы планируете профессиональную карьеру - так более-менее хорошо их знать - просто обязательно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@webdeveloper48
Разбивать на мелкие задачи.Я вот недооценивал данный метод,но это самое эффективное что может быть при работе с задачей в которой много зависимостей.Еще можно нарисовать схему зависимостей на доске\графическом редакторе.
Ответ написан
Комментировать
Все настройки выносишь в один файл (или класс если в глобально области ничего нет) и во всех остальных страницах проекта только подключаешь этот файл и всё. Меняешь настройку в файле меняется везде. Что выносить в файл? То что используется более чем в 1 месте в проекте, то что может часто меняться.
Что бы if не плодить можно множитель добавлять. Простой уровень , тогда $m = 1 А цена например 5000*$m, средний уровень $m = 1,5 а сложный $m = 2 но в коде тебе менять ничего не надо уже, цена сама изменится.
Ответ написан
Комментировать
@Dum_spiro_spero
Тема обсуждалась здесь.
Как держать в голове проект по программированию над которым работаешь не каждый день?
Изначально ХОРОШО ВСЁ ПРОДУМАТЬ, а потом уже писать.
С того момента пришли в голову новые мысли - но суть в общем такая же - разбивать на мелкие подзадачи, причем по возможности такие, чтобы сделал функцию - и можно забыть о том, что внутри - а помнить и записать только входные выходные параметры.
Проблема в чем - люди часто увлекаются процессом (он тоже приятный) и не продумывают в достаточной мере архитектуру - в результате на половине проекта обнаруживаются непреодолимые грабли и необходимость переписать всё с самого начала. А после того как всё хорошо продумано - может расхотеться писать - поскольку уже скучно. )))
В любом случае - успехов! Напишите как что получается.
Ответ написан
Комментировать
artemmalko
@artemmalko
Frontend developer 2gis
Использовать хорошие сборщики, которые сразу предлагают хорошую файловую структуру: TARS Хорошо задокументирован, есть статьи на Хабре!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы