We usually get some guidelines from the overall architecture of the application but after that it always seems to be a free for all. I think we can all do better.
Like, math books are chocked full of techniques to handle specific situations. But imagine if instead of using those techniques we just invented our way through each problem. That's how I think programming is. Because, perhaps we don't have a rich enough vocabulary to describe what we are doing and so every day people solve the same problem in many offices. But if architecture were more codified we could just look up how to do something.
Maybe there could be a site that listed abstract solutions that people could vote and leave comments on. So, for example, someone might leave a comment saying that the solution doesn't scale well. If you need something that scales consider solution_93748.
I think this could help developers create better architected code because we could offload some architecture tasks to the hive mind. What do you think?