Противоречия между принципами есть, да. Что делать: теория отражает жизнь. Многие противоречия известны и документированы. К примеру, на странице для SLA указаны противоречащие принципы:
MIMC: Adhering to SLA results in more methods and classes.
PSU: The purpose of SLA is to avoid mental grouping. On the other hand just adhering to SLA and neglecting PSU may result in the opposite: The reader of the code has to do mental inlining. Sometimes it can be more readable to allow a small amount of statements on the “wrong” level of abstraction (like having a guarding if statement in a higher level method).
no subject