Field Dependency Injection Considered Harmful

Field injection is a very popular practice in Dependency Injection frameworks, such as Spring. It has, however, several serious trade-offs and should generally be avoided.

Telescoping Constructor Pattern alternatives

Telescoping constructor pattern is quite common practice. It has, however, some shortcomings. What are the alternative approaches and when should you use them?

Learning IntelliJ IDEA keyboard shortcuts

Learning shortcut keys of your favorite IDE can greatly boost your programming productivity. There is a trick to learn IntelliJ IDEA shortcuts quicker than just by memorizing them one by one.

Stop using Javadoc @author tag

Are you still using @author Javadoc tag? Maybe it's time to reconsider. Let's discuss why the tag may be actually harmful and why you should stop using it.

Should I explicitly declare serialVersionUID?

Should you explicitly declare serialVersionUID or leave it to be automatically generated?

Break the Java Generics Naming Convention?

Choosing descriptive, intent-revealing names is one of the key principles of writing clean code, which is easy to read and understand and usually requires little to no comments. According to the official convention, generic type parameter names are supposed to be just one capital letter. Should you break this convention to make your names more descriptive?