@Caletlog : "Les blocs vides vraiment involontaires/erreurs, c'est si fréquent dans le monde réel ? "
Heureusement non 
Ce n'est pas fréquent, mais ce n'est pas forcément rare. L'exemple en question (bloc vide) n'est pas forcément parlant, mais ça peut être utilisé pour de l'initialisation statique ou forcer un cycle de vie particulier... ou tout autre raison qui ne me viennent pas à l'esprit présentement et qui ont l'air tout sauf logique (ou très propre à un contexte en particulier).
Par contre, des machins WTF-esque comme la réécriture complète d'une API de gestion de date alors que la built-in fonctionne très bien, ou des variables ré-utilisées à outrance, ou des globales avec N significations, ça par contre, ça se rencontrera plus fréquemment.
Dans ce cas, tests unitaires, outils de refactoring et programmation défensive sont de circonstances.