The question of what makes a good program is not a simple one, and may not even be a proper question. Each program has to be considered on its own merits and in relation to its own surroundings.
Egoless programming is a concept introduced by Gerald Weinberg in The Psychology Of Computer Programming. The idea is that programmers must fight the natural tendency to treat their programs as part of themselves, and therefore to reject all criticism. Rather, they should do their best to treat their designs & implementations as objects independent of themselves, and to view criticism dispassionately on its merits.
What obvious obstacles are relevant to obstruct a conversation? Experts in interpersonal communication have identified various response that tend to block conversation. More recently, Thomas Gordon devised a comprehensive list that he calls the “dirty dozen” of communication spoilers.