4 ms·
To your first point flexibility is not free. You have to choose when to be flexible and when to make assumptions to make things simple. Flexibility can only red
by charcircuit 3y ago
To your first point flexibility is not free. You have to choose when to be flexible and when to make assumptions to make things simple. Flexibility can only reduce the cost of making changes, but not eliminate it entitely.
>whenever I get handed code I find myself being more productive rewriting routines rather than using what was handed to me that has zero documentation and is typically made for a very specific use case.
Their is a cost to rewriting code. Code can have all sorts of information and knowledge for handling things correctly baked into which makes rewriting hard to do at scale without having a strong understanding of the problem. I personally don't think code level documentation really matters that much in the grand scheme of things. The version history, being able to see why code is the way it is, is orders of magnitude more important and is where the real savings come from.
>I also think the not listening to power users plays into this.
There is a difference between not listening to power users and what I was saying about not designing software for power users when the goal is to sell to the mass market. Yes, power users likely know the biggest pain points and have insight on how to make the product better. Even if they are right in finding something that makes the product better for them, it is possible that such a change would make the product worse for the millions of normal users.
- godelski 3y agoSure, I don't think there is a free lunch. But if this is the cost of rewriting isn't that the argument for having documentation? I mean I'm not running into well written code and I'm just told to add my thing to it. But to do that I need to interact with... well... a house of cards. Because the person before me wrote fast, not well. I do hear a lot of people say that they write their code so well it doesn't need documentation but I've only run into code that is clear pretty rarely. Though every time that happens, they also have documentation available. Thanks for the clarification with power users. As one, I have no issues with this response. I know we always want more but I get the tradeoff for usability. Only thing I'd say is that, depending on what's being programmed, exposing API can often be all I need and typically doesn't do anything for the average user. But that's often not reasonable so I totally get this one.