1. A method with an integrated development environment (IDE) to guide development of applications to implement a programming design objective, comprising: receiving, by receiving user input with a source code editor of the IDE, source code and a tag added to the source code, the tag indicating a programming design objective for the source code starting from the point in the source code where the tag is added; invoking, with the IDE, a source code analyzer that analyzes at least a portion of the source code; and outputs a message in response to determining that the at least a portion of the source code fails to conform to one or more constraints of the programming design objective indicated by the tag, the determining being based at least on the tag and the analyzing of the at least a portion of the source code; and displaying, at a user output interface, based at least on the message outputted by the source code analyzer, one or more proposals to fix the source code that fails to conform to one or more constraints of the programming design objective indicated by the tag, each of the one or more proposals comprising a visual indication associated with a category selected from a plurality of different categories of meeting the programming design objective indicated by the tag, wherein each one of the plurality of different categories being associated with a respective one of a plurality of different visual indications.