Friday, August 1, 2025

Rant

I'm a firm believer that you should be able to hack any piece of software you use in order to customize it to work around deficiencies or to add features that the original developer omitted.

That said, if you choose to modify the stock code:

  1. Be sure you thoroughly understand what the stock code is doing and more importantly why. Don't dike out functionality you don't understand — it is there for a reason. Look for hooks that the original developer left for you in the code and use them.
  2. Your new code should make a minimal distrubance in the existing code.
  3. Don't smash things.
  4. Your new code should follow the same logic as the existing code modulo the new functionality.

As someone who is often the author of original code, I am not here to reverse engineer your mess. When you modify the original code, you take on the responsibility to maintain your version, not me.

I'm trying to upgrade the JVM on 60 projects. On one of the projects, someone decided to add custom code. This custom code needed a different version of Python. Did they make a virtualenv? No, they just smashed the system Python. So when I changed their container to use the upgraded JVM, they lost their custom Python version. Now I'm stuck trying to figure out what their custom code does so that I can re-write it the way it should have been written by them in the first place.

No comments:

Post a Comment