Da qualche tempo mi sto chiedendo quale dei due modelli di codifica risulti piu' chiaro:

if(!this.IsValid) {}

oppure

if(this.IsValid == false) {} 

Lo stesso concetto si traspone anche alla condizione vera:

if(this.IsValid) {}

oppure

if(this.IsValie == true) {}

Molto spesso uso la forma compatta ma mi accorgo che la forma estesa risulta spesso piu' leggibile.