I'm working on an application, certainly not my first. Some aspects of my coding background are quite informal, for example I have only a rudimentary understanding of source code repositories.
Take library formation, for example? I'm reasonably proud that my source is of sufficient quality and organization to pass an audit - no spaghetti code here. But I'm relatively unprincipled when it comes to breaking source out into smaller files.
How are you as coders able to discipline yourself to do this? What criterion do you use to split things out? What goes and what stays?