Budowanie dobrego oprogramowania polega na nieustannym dążeniu do wygładzania ostrych krawędzi