¿Deberían los programadores utilizar variables booleanas para "documentar" su código?

Estoy leyendo Code Complete de McConell , y él analiza el uso de variables booleanas para documentar su código. Por ejemplo, en lugar de: if((elementIndex < 0) || (MAX_ELEMENTS < elementIndex) || (elementIndex == lastElementIndex)){ ... } Él sugiere: finished = ((elementIndex <...