There is a philosophical discussion within the New Urbanism about how best to write codes. This debate among friends is about two successful approaches to codes for development and zoning.
DPZ in general and Andres Duany in particular are famously allergic to the idea of curtailing possibilities. They generally like to err on the side of being permissive. This leads them to write codes so that any combination of the permitted building envelope and internal function is allowed. Another approach is to code building types so that the compromises necessary for comity among neighbors are built in at the building-type level, rather than the lot-level. Stefanos Polyzoides is the most vocal proponent of that second method, which came to debate at the CNU in 2012.