Lo svantaggio principale sta perdendo la formattazione personalizzata dove è davvero importante.
Immagina un tipico controllo di integrità se () fallirà se una delle condizioni specifiche è presente ma non soddisfatta ...
if(
(user.id == TEST_ID)
||(
(user.id == UserID)
&&(
( user.type == HUMAN_USER && user.name.size() >= MIN_NAME )
||( user.type == EMULATION && input.source != SOURCE_INTERNAL ))
&& ( user.email == NULL || emailValidator.isValid(user.email))
&& ( (user.phone == NULL) == (user.type == EMULATION) )
// several more lines like this.)
){ /* handle results */ }
Questo è leggibile grazie a un indenting ragionevole che segue la struttura logica delle condizioni.
Ora il tuo strumento automatizzato non ha idea della separazione logica delle diverse condizioni in linee correlate. Non vede alcun motivo per raggruppare 3-4 condizioni in una riga e dividere la condizione successiva a metà. O lo dividerà, un'espressione di confronto per linea. Potrebbe anche sembrare più bello sullo schermo, ma la logica andrà persa.