For example when you see a loop with System.out.println(...) in part of the initialization code you can be sure that someone
- was checking if all the stuff was initialized
- this means that something wasn't initialized
- it is not trivial how to do it
- people have no guidelines/was not educated about the framework they using
- someone who should know about what developers do has no idea
- some may found a workaround already and done the initialization in some other way
- bonuses will be paid to people who will fix the code when the management understands that it is to be rewritten.
- no one was performing code reviews / peer reviews
- log4j was not configured/used properly in that project as no one cares about maintenance
- the developer has a taste for quick and dirty methods
- he was hired so this method of work is accepted/encouraged
- he has no support for doing the things in a civilized manner
- he was never blamed for doing so and his check in-s are not supervised
- most likely more than one developer let it pass as they was no intention/instruction to remove it (it is somebody else's problem)
- deadlines are rated more important than quality
- the customer has no idea what is going on, just pays a lot of money without having enough control over the project.
- #5 means that the customer has project managers hired for the project
- At this point no one ever checked the code for such fragments (System.out.println) thus most likely we have some other nasty problems ahead.
- bug fixes can be trivial but most of them can't be estimated
- the IT department of the customer will ask the business to extend the budget sooner or later
- if the product is business critical then it will have a new version developed, typically the programming platform will be blamed.
And just for clarification: it wasn't me :) I'm just bringing the news about the 300.
No comments:
Post a Comment