10 Worst Habits of Software Developers


2. Write your own cache, database, thread pool, connection pool, transaction manager...

Unless you work for a company or an open source project, there's almost nil reason to write a code for these, even if you are aware of what you are doing. Don't code what you don't need to code when reliable solutions that work have been QA'd by a large number of people. At least 99 percent of the time, that justification will overshadow your reasons for "writing a better one."

1. Code directly to the RDBMS by default

There has always been a large amount of nonsense written about Object-relational mapping systems. In general one or two edge cases are used to justify dumping the ORM and writing "directly" to JDBC or OleDB. The truth is you can't afford to debug the irrelevant CRUD code. Almost every ORM system allows you a way to handle those one or two edge cases directly without full abandonment.