Maybe crowd-source resources or learning to avoid patch-spaghetti. Can you list some?
I'm still actively learning about MaxMSP, and coming from a coding background, I've found it hard to adjust.
Thought it'd be nice to crowd source some resources and discuss rules we stick by to prevent patch🍝 chaos. Here's some rules I've written down https://marktension.nl/#/blog/MaxMSP%20learnings
e.g.
Giving yourself senses with many messages, [button]s to visualize bangs, and [counter]s to count bangs.
Sub-patch, yet keeping a clear overview.
When to use patch chords, or when to favor [send]/[receive]
color-coding standards
Tips on using code-assistant
Please critique, or add other standards you stick by / any other resources on this
a patch may not be larger than your main monitor
if it is for some reason bigger than your monitor, build yourself a proper solution to navigate in or move the window around (using scrollbars or click-drag is not a proper solution, using the left hand is preferred)
find your way of organizing things graphically and then always use the same system in every project again
generalized abstractions are much better to have than project-specific subpatches. you do not have to create them while patching, you already have them installed. (except for te very first time)
do not "insert" your debugging buttons, numberboxes, consoles, messageboxes, make them parallel to the connection you´re monitoring. this way you can just delete them when the patch is finished.
less connections is often worse to read or debug than many. reduce the use of s/r to connecting things where you cannot avoid it (different top level patches.) but
there is a bunch of other things you can do to save connections if that is your aim (the "prepend trick" to make multicore connections, packing multiple values into lists to send them around, using mc objects or poly~, script-creating things at runtime, removing unnecessary things, use cable ties for cables going to the same target *)
use colorcoding for objects and connections (you already have that listed, i strongly support the idea)
putting some of the less important connections into invisible-when-locked can also help
if something suddenly works and you do not know why, it is time to make a backup and add a comment.
find a working balance between encapsulation/top level. many subpatches is good, but on no more than 2-3 layers. using abstractions inside abstractions should be kept to a minimum.
*)

Really like these! The cable ties method is very clever. And I see great benefit in bunching together related messages as a list. Gotta get into saving more generalized methods instead of writing new project specific ones every time. And have to buy a bigger monitor;)