In order to be disciplined, you have to be undisciplined. It's an unavoidable rule.
The best part about being a disciplined coder is that it's okay to make stupid coding mistakes. That's how you can tell if you're disciplined.
You probably already know you're going to
make coding errors for the rest of your life. If you recognize that failure is a normal characteristic of development, you're doing better than half the developers out
there. If you realized that it's more important to learn how to find your own mistakes than it is to avoid them, you're doing better than the next half. When you're able to identify your mistakes and own them, privately and publicly, you're doing better than 90% of the rest.
Stop worrying about the ideal structure of your code. Start worrying about knowing which parts of your structure are the most error prone. Start worrying about the places where you make your boneheaded mistakes. Start worrying how to stop doing the boneheaded mistakes.
And get to work on one of them.