Who is to judge the "good" or "bad" anyway?
My answer of "how to judge?" question is the question "how easy is it to implement new unforeseen functionality with the code under scrutiny?"
Who is to judge the "good" or "bad" anyway?