Getting Stuck with the ‘li jiaman’ stuff
So, let me tell you about this thing I had to deal with recently, everyone just called it the ‘li jiaman’ system. Not sure if that was the actual project name or just the name of the person who originally built it, nobody seemed to know for sure. Anyway, it landed on my plate because, well, someone had to fix it.

It was a mess, honestly. The whole thing felt like it was held together with tape and good wishes. My first job was just trying to understand what it even did. I spent days, seriously, days, just trying to follow the logic. It jumped all over the place. You’d follow one function, and it would call another five, and those would loop back in weird ways. Nightmare fuel for anyone trying to maintain it.
I started digging through the code. Here’s what I did:
- Tried to map out the main data flows. That took a whiteboard and a lot of erasing.
- Looked for any kind of comments or documentation. Found basically nothing useful. Just a few cryptic notes that didn’t make sense.
- Attempted to run some basic tests. Half of them failed immediately, the other half gave strange results.
The biggest headache? Everything was tangled together. Changing one small thing over here would break something completely unrelated over there. It was like that game Jenga, but way less fun. I remember thinking, “Did ‘li jiaman’ actually want anyone else to ever touch this?” Probably not.
Sorting it Out, Slowly
There wasn’t a quick fix. I had to basically start pulling pieces apart. I identified the core functions that were absolutely necessary and started isolating them. Anything that looked redundant or overly complicated, I flagged to potentially remove or rewrite later. It was slow going. I’d refactor a small piece, test it like crazy, then move to the next. Sometimes I’d spend half a day just trying to untangle one specific function.
Eventually, I got it into a somewhat stable state. Not perfect, mind you, but usable. We could actually make changes without fearing the whole thing would collapse. The process was painful, though. Really drove home the point about writing clean, maintainable code. It’s not just about getting it working now, it’s about the poor soul who comes after you.

The main takeaway for me? Document your stuff. Use meaningful names. Keep things simple. Don’t be ‘li jiaman’. Your future self, and your future colleagues, will thank you. It might take a bit longer upfront, but man, it saves so much pain down the road. Learned that the hard way with this one.