There are a few ways you could do that.
First way, use your languages features. In java you could things features such as Abstract, Final, Public, Private, inheritance, interfaces, delegates, events. That would prevent them from messing the code at the object oriented level. You could go a step further and implement design patterns. Designed patterns were adapted in the 90s by programmers, but first developed by an architect whose name was Alexander Christopher. Design patterns have the strong advantage of templating the code design, and imposing a design structure.Read the article the gang of four. There is also a site where different design patterns are implemented.
At the class level, you could use things like getters and setters, that would clean up the code and make it more manageable. Tell your team in general to use prefixes for function names, such as get, set, is (for returning booleans).
I read from some book that is called "clean code" that you should use up to 20 functions in a class, and each class should be classified by functionality. Number of lines in the function should also be limited. So why not to tell your team to follow such policy?
Teach your team to write shorter code if you can, use trinary expressions instead of if or else, use switch instead of many if and else, use recursion instead of some loops, do do while loops instead of while loop . Avoid the use of labels when in loop, avoid many condition statements in ifs or for loops, avoid long loops (comment at the end of loop closing braces if loop is long),avoid many nested loops.
To sum up, enforce a template on all the code design through abstract classes, inheritance interfaces and design patterns overall. Use short well named functions, group them by class, allows use the right accessors (try to use uncommon accessors like 'final', 'sealed'), use getters and setters, as they are also a means of code control. Try to address and comment how to write clean, short and effective control flow. Use the api more as it offers prebuilt functionality, dont try to come up with your own functionality as it will result in more code, which is also less tested.
*I was in a messy code situation too many times to know what clean code is!