I am currently working on a small short-lived project. But, despite the size, it is quite complex, with very obscure logic. That is why it was started by more experienced developers. From time to time they work on it because it is not their main project.
They made several drafts of the code with numerous places that "will be rewritten in the near future." After that, they added a few more “temporary pieces.” And again..
So, now the project is a mess of “half-working” code fragments with some hard-coded values, such as file names or some constants that “will be replaced by the last working parts”. The API is terrible (no one thinks about it).
And it’s really, really hard to do development now (for me this is the main and only project). I caught myself thinking that every hour I spent about an hour to again understand all these complex “temporary” things and the shortcomings of the API. And after this hour, my brain melts.
I can't just say "guys, your code smells like garbage." What is the right way?
Roman source share