Exemple

public static void main( String[] args ) {
if ( args.length > 3 ) {
System.out.println( "Plus de 3" ); //$NON-NLS-1$
if ( args[ 0 ].startsWith( "a" ) ) { //$NON-NLS-1$
System.out.println( "Commence par a" ); //$NON-NLS-1$
if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Finit par z"); //$NON-NLS-1$
}
}
}
}

Solution
Inversez la condition et ajoutez une instruction return.
La solution suggérée ci-après est discutée dans le livre Refactoring de Martin Fowler.
  1. Inversez la condition de l'instruction if la plus externe.
  2. Ajoutez une instruction return en desssous de l'instruction if.
  3. Répétez la prochédure jusqu'à ce qu'il n'y ait plus d'instruction if imbriquée à un niveau de profondeur élevé.

public static void main( String[] args ) {
if ( args.length <= 3 ) {
return ;
}

System.out.println( "Plus de 3" ); //$NON-NLS-1$

if ( !args[ 0 ].startsWith( "a" ) ) { //$NON-NLS-1$
return ;
}

System.out.println( "Commence par a" ); //$NON-NLS-1$

if ( args[ 1 ].endsWith( "z" ) ) { //$NON-NLS-1$
System.out.println( "Finit par z" ); //$NON-NLS-1$
}

}