3 ms·
> For non-tech people the code should be a black box they shouldn't know the internal details. Ideally, yes, though in practice this usually breaks in various
by edanm 5y ago
> For non-tech people the code should be a black box they shouldn't know the internal details.
Ideally, yes, though in practice this usually breaks in various ways, especially when problems occur. E.g. the President of a country probably doesn't need to be a firefighter, but if there's suddenly a massive fire, I assume he'd need to be briefed in far more detail to help call shots around the type of response.
> In terms of refactoring there is no way to give a Cost Benefit analysis as that's too subjective.
I mean, you probably won't get a very correct Cost Benefit analysis, but you have to do something. The rest of your post is you describing that something - if you elect to spend 20% of your time on maintenance, that's effectively giving it a certain amount of weight compared to other things you can be doing with your time. That's certainly one way to work.
Personally, I think a more flexible approach is better. E.g. new startup-ish projects should usually spend a lot less time refactoring, for multiple reasons, whereas more established long-term projects should spend much closer to 20%, or maybe more.
- Aeolun 5y ago> I assume he'd need to be briefed in far more detail to help call shots around the type of response. I feel like this is something a lot of presidents (or VP’s, or Directors, etc.) think, but really, instead of taking time away from the professionals doing the fighting to explain to them the minutiae of blowback, the best thing they can do is say “I trust you, put it out.” And then leave the pros to do their job.
- Nevermark 5y agoI think that is true when the goal is to get something well understood out quickly. In other cases, it is more important to get things right and continual refactoring is the fastest way to find an acceptable architecture to a novel problem. In either approach, when speed is of essence, a limited scope helps avoid either producing insurmountable technical debt, or an unterminating research rabbit hole, respectively.