I don't go through special lengths to make my code reusable per se, but just following the standard practices (good naming, do one thing well, etc.) it doesn't become very difficult to reuse something if it is especially needed, if your code is clean. Basically the same things that make your code easy to understand and testable also help it be reusable. IMO of course. I used DI a lot when I did Java work, it's a big thing in that community.
One thing I do use is a metric ton of open source code in all my projects, but I'm not sure what if that's what you mean by code reuse.