I think someone starting, or intermediate, or perhaps advanced won't be able to tell what's good or bad... even I have problems sometimes identifying what would be the best approach of implementing a good design and could end up implementing a bad one easily.
And refactoring as almost always a must... unless you are stuck in a legacy support project where you are just hacking fixes away despite the glaring flaws and the client doesn't want to spend any more money on improving things.
Comments
I think someone starting, or intermediate, or perhaps advanced won't be able to tell what's good or bad... even I have problems sometimes identifying what would be the best approach of implementing a good design and could end up implementing a bad one easily.
And refactoring as almost always a must... unless you are stuck in a legacy support project where you are just hacking fixes away despite the glaring flaws and the client doesn't want to spend any more money on improving things.