Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "root fixes a report"
The code is a freaking mess. Shared behavior, terrible variable/method naming, misleading module naming, dynamic polymorphic spaghetti, whitespace errors, no consistency, confusing even if you understand what the code is doing, ... . It should never have passed code review. It probably wasn't code reviewed.
The comments are sparse and useless. Quality level: // This is bridge.
The documentation does not exist.
Testing steps for QA are missing several steps, including setup, so actually using the feature is bloody challenging. If one thing is wrong, the feature just doesn't show up (and ofc won't tell you why).
The specs for the feature are outdated and cover only 4 of 19+ cases. And are neigh useless for those 4.
The specs for the report I'm fixing don't even check the data on the report; it just checks for one bit of data on each row it creates -- a name -- which is also the same on each row. gg.
The object factories (for specs) are a mess, and often create objects indirectly, or in backwards order with odd post-create overwriting to make things work. Following the factories is a major chore, let alone fixing or extending them.
The new type has practically zero test coverage.
The factory for the new type also only creates one variant -- and does so incorrectly.
And to top it all off: the guy who wrote the feature barely ever responds. If he does, he uses fewer words than my bird knows, then stops responding. I've yet to get a useful answer out of him. (and he apparently communicates just fine, according to my micromanager.)
But "it's just fixing a report; it'll be easy!"
Oh, fuck off.8
Yes yes yes
Let's spend countless hours writing painful spaghetti that generates a financial report, extend that spaghetti for specs, then not bother to check the amounts or status. or where it says the money went. Nope, checking non-unique names is totally good enough. We're so good at this. Ten points to the legendaries.
Let's also make the object factories not create the objects correctly, and make sure that report includes entries for orders that don't include any actual payments. Oh, their status? "Ready to send" of course! Let's send that totally valid $0.00 to nobody!
Oh, but Root. Root, root, root. You can't ADD payments to this. no no no. if you do, it'll break specs everywhere else that uses that factory! Shame on you for suggesting it.
Pssh, now you want to make a payment just for this report? Why would you do that? Our best devs have been working on this for years! What could you possibly know that they don't? No, they're perfect. Don't touch them. Just make them better, okay? No take, only throw!5