Любые мысли о том, как я могу преодолеть этот ментальный блок, и чтобы мое приложение было масштабируемым?
Суть проблемы не в масштабируемости. Суть проблемы в том, что вы думаете, что вы поймете это правильно с первого раза .
Вы должны сосредоточиться на написании чистого кода. Потому что чистый код максимизирует удобство, когда вы (неизбежно) должны что-то изменить в будущем. И это реальная цель, которую вы должны иметь.
Сейчас вы пытаетесь придумать идеальный код для написания. Но даже если вам удастся это сделать, кто скажет, что требования не изменятся, или вы, возможно, приняли свои решения на основе неверной информации или недопонимания?
Вы не можете избежать ошибок, даже если они не ваша вина. Сосредоточьтесь на написании кода, в котором легко что-то изменить позже, вместо того, чтобы надеяться написать код, который вам не понадобится менять в будущем.
Привязавшись к проекту и к коду, который я уже написал,
Я абсолютно сочувствую этому чувству. Но привязанность к написанному вами коду является проблемой.
Единственное, что должно быть постоянным, - это ваше желание решить конкретную проблему . То, как вы решаете эту проблему, является второстепенным вопросом.
Если завтра будет выпущен новый инструмент, который уменьшает вашу кодовую базу на 80%, вы будете расстроены тем, что ваш код больше не используется; или вы будете рады, что ваша кодовая база стала меньше и намного чище / более управляемой?
Если первое, у вас есть проблема: вы не видите решение для кода . Другими словами, вы сосредотачиваетесь на коде и не видите более широкой картины (решение, которое оно стремится предоставить).
Я боюсь, что вся дополнительная работа, которую я выполняю, будет отменена в ближайшем будущем, когда приложение не будет хорошо масштабироваться по мере роста бизнеса.
Это другая проблема для другого дня.
Сначала вы создаете что-то, что работает. Во-вторых , вы улучшаете код, чтобы исправить все недостатки, которые он может показывать. То, что вы в настоящее время делаете, это сдерживает выполнение первого задания из-за страха перед выполнением второго.
Но какой еще вариант есть? Вы не можете сказать будущее . Если вы тратите свое время на размышления о будущих возможностях, вы все равно будете в конечном итоге угадывать . Угадайка всегда склонна к тому, чтобы быть неправым.
Вместо этого постройте приложение и докажите, что проблема действительно существует. И как только проблема станет ясной, вы начнете ее решать.
Другими словами: Генри Форд никогда не создавал автомобиль, который соответствует стандартам / ожиданиям 2018 года. Но если бы он не создал Model T, дефектную машину по современным стандартам, никто бы не начал использовать машины, не было бы автомобильной промышленности, и ни у кого не было бы машины, которую они могли бы затем улучшить.
Я заставил работодателей усомниться в моем выборе не использовать какие-либо веб-фреймворки во время собеседования, что только заставило меня усомниться в моей предыдущей работе.
Важной частью здесь не является то, какую систему вы используете (любой работодатель, который судит вас по этому вопросу, не выполняет свою работу должным образом). Важной частью здесь является знание того, что вы делаете и почему вы это делаете .
Например, вы могли бы избегать существующего фреймворка специально, потому что вы хотите узнать, почему фреймворк полезен, выполнив сначала трудный путь. Или вы могли бы пытаться сделать свою собственную структуру.
Единственный плохой ответ здесь - «Я не знаю», так как он показывает отсутствие принятия обоснованных решений. То есть красный флаг для работодателя.
Я просто не знаю никаких веб-фреймворков и не знаю, с чего начать.
Та же проблема возникает здесь. Решение не думать больше, а действовать:
- Хватит размышлять над идеальным ответом .
- Выберите рамки. Если у вас нет предпочтений, выберите случайный. Используйте дротик, бросьте кубик, подбросьте монетку, возьмите карту.
- Используй это.
- Вам понравилось это использовать? Было ли что-то, что вы находили раздражающим?
- Посмотрите, как предотвратить эти плохие элементы. Вы неправильно использовали фреймворк или это просто так, как фреймворк должен работать?
- Как только вы почувствуете, что у вас есть контроль над фреймворком (независимо от того, нравится вам это или нет), выберите новый фреймворк и повторите цикл.
Чтобы узнать больше об этом, читайте Совершение мышление> мыслительный образ мышления . Автор объясняет это лучше, чем я.
но давление, чтобы закончить приложение растет, и я подумываю полностью отказаться от приложения и начать все сначала
Если текущая кодовая база не является абсолютно не поддерживаемым беспорядком; вы принимаете противоположное решение.
Разработчики часто думают, что выбрасывать вещи будет лучшим выбором. Это очень распространенное чувство. Но это редко правильный выбор.
Выбрасывать код и начинать с нуля - это все равно, что застревать в пробке по дороге на работу, опасаться, что вы опоздаете на работу (пропустите крайний срок), а вместо этого ехать домой и снова пытаться ехать по той же дороге. Это не имеет смысла. Возможно, вы застряли в пробке, но вы все еще ближе к работе, чем когда были дома.