Software Architecture and Coding

What is the difference between bad code, good code, excellent code , perfect code and artistic code in relation to software architecture?

Bad code is one big function doing everything and a bit more, it’s pain.

Good code is one class that does one thing, it’s good.

Excellent code is code written by the master of the programming language that knows what other programmers can only dream about and using it all the time. Whoever sees the code says it’s great but there is not a lot of every day programmers who would like to work with that code.

Perfect code is the excellent code dumbed down enough so that every programmer can understand it. It is not using hottest language features for the sake of using them. It’s heaven from the software architecture standpoint.

Artistic code is the excellent code made by the artist who is also protective about that code, who considers everybody who does not understand that code a lesser form of life. It’s pure hell from the software architecture standpoint.

Often the best and most productive programmers in general consensus can actually create more problems with the “artistic approach” if they are not paying attention to overall software architecture of the software they are working on.