Properly naming, build configuration (creating an executable jar), stateless and immutable classes.