Sometimes I am appalled by the lack of skill that is widespread among software developers. I take pride in my work. Immense pride. I hate hate hate hate doing a half-assed job. So it just galls me to see the nightmare of a code base that I have to work with. We are supposed to have talented developers here, and yet I find our code base to be poorly managed and structured.
My new project is to extend a tool for use my the cruise group. Originally the tool was supposed to be used by multiple teams. But the hotels team wrote it, so it was written to be very specificly useful to the hotels team. Except now I need a version of it for cruise. Except everything in the tool uses hotel specific structures.
But that's not my rant even. I knew I was going to have to work around that.
My rant is that I opened up the project for this tool. It's really a collection of 30 or so tools. But there are only two header files for the entiure project. The main header file is 2500 lines of code. Header files should not be 75K. Header files should not be 323K. I need only part of it for cruise. But I have to include the whole fricking thing. And of course I will have to merge every single night in my daily build because the hotels team will be editing that file as well. I so want to take the damn thing and split it apart into more managable and logical pieces, but I don't have time in the schedule to fix their structural problems. And that is going to make my project take longer than it should. Much longer.