As systems grow, many of the overarching architectural principles become less obvious to developers. It is important to preserve these principles intact and visible to all folks that interact with the code base. In this session, we will review a number of static code analysis tools, starting with localized analysis of code snippets; create strategies for catching violations of application-wide design patterns; and review tools for automating and hooking the static code analysis to source control and build systems.