ИМХО не бывает канонического программирования, даже каллиграфический почерк отличается своей особенностью. А код это результат мышления. Главное не отчается и не потерять в себе любовь к этому делу, все остальное решает практика, "какой же я дебил, люди делают, это так непринужденно и легко, а я туплю и вымучиваю кривые решения", "я никогда этого не пойму....", это у всех бывает. кровь и пот всегда дают результаты. Решайте задачи, очень помогает.
Practice make progress!
Ну и последовательно от простого к сложному.