Under the hashtag #whatsonyourmind Philippe Schrettenbrunner describes what moves him. Phil is a Software Crafter at MaibornWolff. He says:
We don't code for the compiler any more. We code for people. My criterion for good code is: Can anyone else read the code? For example, are the variables appropriately named? And is it structured in a meaningful way? Or does it need a lot of explanatory comments, which are then knocked in without loving care and full of typos?
The stupid thing is: "Spaghetti code" also works. When software is running, users don't care what's behind it. But if you start neglecting software principles, it will be expensive. The motto: "As long as it works and we met the deadline" only works in the short term. Software lives: the more difficult it is to develop it further, the more expensive it becomes.
Code is like a kitchen: it gets dirty during operation - you have to clean it up every now and then. Superficial wiping doesn't help in the long run. This discipline is not easy for me either. I am impatient. But when we slow down because we stumble across our own dirty corners, that really annoys me.
Our code often emerges where developers lack the big picture - structure, planning and consistency. And then there are a few gifted people who can think very abstractly - they sometimes believe: "If you don't understand that, you don't understand anything". In order to be able to audit code, it must be readable. The more clearly structured and the smaller the units, the better the audit can be carried out.
For example, if you have a variable that is only valid for two lines, name it what you want. If it applies to the module or the whole project, then invest enough time in the name.
Code is poetry. There is no: "Now it is finished". We're done when it's good enough for the context. There are always individual preferences - you have to agree on project standards. And as with a good poem: Few clear rules help. Project teams that have understood this don't just create good code: the user stories, documentation, tutorials and bug reports are also usually correct.