How is Macker like / unlike similar products?
There are several lint checkers and style checkers available for Java, such as Checkstyle and JCSC, which verify that code adheres to formatting, naming, and style conventions. (The nascent project TestPattern also seems to belong in this category.) These projects also sometimes flag potential errors (such as empty catch blocks), a task which PMD and Jlint are specially designed for. Macker is, for the most part, complementary to these tools: they operate on source code, and deal with line-by-line implementation details, typically in a peephole fashion; Macker operates on compiled classes, taken all at once, and focuses on large-scale structure. Macker can’t catch misnamed local variables, misplaced braces, or empty catch blocks; conversely, these other tools aren’t very good for expressing and checking architecture-level code structure. Putting it differently, these other tools live in the realm of the Java coding conventions, and Macker lives in the realm of the Java Blueprints. This