We wrap up the Trevor Ewen interview series with a discussion of building libraries and extending code. While this is often a necessity, there are different ways it can be done to help separate your code from the core or to safely build on it. Your desired approach will vary by application and the customers involved.
Extending Code SafelyThere is often a right way and a wrong way to extend code. We need to do this in a way that allows us to incorporate updates to the foundational source and not break our extensions. It is also helpful to refactor extensions into using core functionality as libraries evolve. Every tool and platform handles these "hooks" differently. Therefore, we need to understand the core and our customization impact before we integrate things either too loosely or tightly.
Supporting Your WorkThe other key consideration in building an extension or library is support. Licensing may be an issue, but support and maintenance will always be a factor. You are not committing to a solution for only today. The solution needs to survive in the future and handle upgrades and fixes without falling to pieces. A one-and-done library is not worth the effort. When you plan on extending code, you also should plan for keeping that extension useful over time. That is the same whether you build an internal library or are selling commercial software.
Great Links for more From TrevorI had a great time doing this interview and reviewing the content during the editing process. It is my hope that you got as much or more out of it. Feel free to send questions (or business) to Trevor. The links below cover what he shared in the audio so you do not have to take notes.