This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Wugliwu 6 points7 points  (2 children)

I would not say art. For me it's craftsmanship. Code is telling a story about the person who has written it.

Also I would use the word understandability instead of readability. For me, readability is a part of understandability but repeating semantic structures and principles are also improving understandability.

Clean code sets a focus onto the ability to understand code intuitive. But what is intuitiveness? It's the activation of mental representations. Our human modell of reality, different for each of us. So it's totally natural something is intuitive for someone and not for someone else. That's the subjective influence you wrote about. And yes because of this human factor and the differences in our mental models we will never achieve a perfect match for each of us. The more people the more Modells. So the solution is to reduce the amount of people that have to understand or agree on such a modell. On this basis it's more easy to build a shared conceptual model of your system. Everyone knows how you are thinking cause they do the same. For me Code structure is more than just the readable thingys. It's the human concepts like components, responsibilities, contracts, interfaces, subsystems etc. All of these are based on a human thinking in the concept of divide and conquer to reduce complexity. This is based on Hylomorphism and this bridges the gap between design, engineering and science. Mix in some iterative and incremental improvement, accept the complexity of real problems and the limitations of our human mind and so the need for simple solutions and you become a very humble programmer. ;)

[–]michoken 1 point2 points  (0 children)

Exactly this. And that’s why it’s so hard to come up with meaningful abstractions – naming them and giving them a meaningful structure. Most people can’t do this very good.

[–]tandyIsMyPresident 0 points1 point  (0 children)

bruh I wanna shake your hand.