Вы делаете хорошее начало - понимая, что вы не поняли все это. Никто из нас не делает.
Убедитесь, что вы понимаете домен - это сразу устранит некоторые ошибки. Знайте, что вы решаете, и затем попытайтесь разработать решение.
Есть подход к развитию. Я использую тестовый подход, но это не единственный способ. Это дает мне встроенную проверку, что я все еще в курсе. Я использую своих сверстников, чтобы отразить идеи, я раньше использовал парное программирование и нашел ценность в этом.
Если вы разработаете систему для минимизации «глупых» ошибок, вы обнаружите, что они исчезнут. Может быть, контрольный список будет работать. Персональный процесс программного обеспечения поощряет такой подход. Попробуйте и посмотрите, работает ли он.
Мне нравится записывать свои мысли перед тем, как передать их в код. Мне нравится, что мои сверстники вначале показывают мне, почему я не прав в своих мыслях. Если они не могут, я вполне уверен, что устранил некоторые возможные препятствия.
МНОГО этого будет происходить из опыта, в основном из-за того, что вы делаете то, что делаете, и учитесь на своих ошибках!