The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
It goes without saying that good software at least solves the customer's problem given the available resources (mostly time and money)
If the software does everything the customer asked for within time and budget it's acceptable.
If, for some reason, that's no do-able, a new state of acceptable should be discussed.
But given that the software is acceptable the code should be as easy as possible.
What "as easy as possible" is depends on your knowledge and experience. Assuming that's plenty software should be good if you keep it as simple as possible
Easiest for who? As a case in point, all these lovely single-page-scrolly-animatronic-doodah-websites may be easy to use for someone, but not for others and they certainly aren't the easiest to implement or support.
There's a lovely theory in systems practice [nothing to do with computing] about what is the best solution. It does not necessarily delivery what was requested, but it provides the greatest transition to the required situation with all stakeholders benefitting the most they possibly can. Now put that into your software solution. If it's peas easy to use but a dog's breakfast to support, the solution is less than optimum. How about delivering slightly less functionality in a bid to build up the infrastructure to help ops, this is more evenly balanced and both users and operations benefit. But gad! What about the cost? If it costs too much the bean-counters will be sad and no-one likes sad beanies. So maybe we have to curb some of the costs while pushing use and ops. We could throw in some more stakeholders, marketing or owners, and see how the solution morphs the more we consider different viewpoints.
It sucks to look at things from another persons perspective.
To me, a solution is an answer to a problem taking into account all variables like time, cost, usability, etc.
From a programming perspective the code should be as easy as possible, but still support the requested features in the allotted time and in the given budget.
If the customer requests a single-page-scrolly-animatronic-doodah-website than implement it in the easiest way possible.
If that seems to be impossible, again, go for the easiest solution, whether that's stretching the budget, deadline, getting more programmers, or dropping features.
As long as each step is the easiest step possible towards getting to the required goal using the available resources.
Unfortunately, most of the time, everybody but the programmer agrees that making "quick and dirty" code is the easiest solution.
We all know it's probably fast and cheap in the short run, but slow, expensive, and frustrating in the long run
An easy one to start the week (no, really, this time ).
1. You couldn't find anyone who wouldn't know it if they saw it, despite that it can only be found in the tropics.
2. Wikipedia can't seem to agree whether the device is named for this or its cousin. (The dividing line seems to run through the pond.)
I think I got it straight away - but that was about a minute after you set it, and it seemed unfair to spoil it for everyone else.
Clues really oughta change our damn ideas, like education. Don't you think?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...