I enjoy picking up new hobbies, learning new things, and finding novel solutions to problems. Having worked on as many legacy projects as
I have new, I've developed an appreciation for readable, maintainable, and reusable code. Even if it takes a couple extra lines, I try to make it clear
what a given piece of code does.
My philosophy around code continues to change, but at the moment it can be summed up as:
- Do one thing and do it well. To the extent that is possible, a class or method
should focus on doing just one "thing", and that thing should (ideally) be evident by its name.
- When working on an existing codebase, the style and conventions of new code added to the project should match the existing code.
- Legacy code often lacks newer language features and optimizations, but is battle-tested. That has significant value.