Čistý kód: Návrhové vzory, refaktorování, testování a další techniky agilního programování 2009, Robert Cecil Martin