4 ms·
Somewhat clarifying question: do they care about it? or not so much? i.e. if you are the only one, and you don't have the needed freedom/ time/ resources/ help-
by svilen_dobrev 2y ago
Somewhat clarifying question: do they care about it? or not so much? i.e. if you are the only one, and you don't have the needed freedom/ time/ resources/ help-from-everyone-else..
Anyway, legacy code should be tread very lightly, esp. one with missing why's. Your job becomes finding those why's .. and most of those may have nothing software-ish in them.
One simple single-aspect change at a time. Try it.. checking it does not go regression (might be impossible - well, then Hoping it won't). Undo or go-forward. Repeat.
Write down/Document everything you find. Or assume. Or think of. (do it for your future self)
and yes, have Fun.. the always missed part of the trio functionality-quality-time
- bodegajed 2y agoThanks for these suggestions. That is really good advice, writing down gained knowledge and assumptions, then presenting it to them for clarification or my future self. The codebase is quite massive, and while they have tests, the coverage is just a fraction. So, I might need to build more. To answer your question, I think the industry expectations have changed with AI and the BS of big-tech CEOs. But that is just me guessing based on the pressure I'm receiving.
- svilen_dobrev 2y agoTry to make map/s. Something visual. Of one or multiple aspects. Cross-reference func/class is easiest but too low level ; needed is crossreference of notions - in space AND time. Did such thing several times, helps a lot. in my last gig i landed as "owner" of 300K js , in-house event-sourcing-from-scratch.. a complicated mess although somehow organised because of the events. There was a team working on those, but in somewhat darkness - noone knew why x-y-z is so. After some staring at code for a while, found few patterns - some repeated, some once-off, and build a mapper (i am python guy, used Esprima as js parser) to extract and build the graph of domain-event-reason-consequence for all available cases, then made visual maps of those 4 aspects (graphviz). And although noone from the team learned to look/use those, i used them, to guess eventual consequences of some change or answer why this-and-that happened, and shown to various interested parties as "very elevated documentation" :)