Confronta lo smontaggio:
if (cmdline == NULL)
cmp dword ptr [ebp-138h],0
jne ........
A:
if (NULL == cmdline)
cmp dword ptr [ebp-138h],0
jne ........
Nessuna differenza.
L'unico motivo per l'ordine "if (const == variable)" è quello di catturare gli errati errori di "=" per "==", ma il tuo compilatore, con il livello di avviso appropriato impostato (hai il livello di avviso appropriato set? Buono, basta controllare) li catturerà comunque.
Peggio, oltre ad essere illeggibile come il manoscritto Voynich, può portare il programmatore in un falso senso di sicurezza. Testimone:
int a = GetMeAnInteger ();
int b = GetMeAnotherInteger ();
if (a = b)
Ha! Gotcha!
Quindi - non un più veloce, falso senso di sicurezza, fa in modo che i tuoi colleghi programmatori vogliano sgranare gli occhi.
O d'altra parte potresti semplicemente aumentare il livello di avviso e catturarli comunque.