With direct dependencies, if you are trying to understand some code that calls some function and what it does exactly isn't completely obvious, you can press a button to go to it, understand it, and come back.
With dependency injection it depends on what is going to be inserted during runtime, so you can't.
If you can press a button to understand what is going on, "it’s possible to overuse" most definitely applies. Dependency injection, as the name implies, is for dealing with dependencies — things that you cannot observe until runtime.
Hence the benefit to testing; allowing you to inject a deterministic implementation while under test.
With dependency injection your interface always describes what your implementation can do. If you see the interface and you have to care what is going to happen when you use it you are doing it wrong.
Same for "programmer", "software developer", "software engineer", and so on. People insist that there's a real difference even when I have been all those things and there was no difference.
Because per capita is the only thing that makes sense.
If China were to split into 10 countries each emitting 10% of what they do now it'd be the exact same emissions, but according to you it would be much better.
Similarly if the EU would become one country, that country would be high up on the list, much higher than member countries now! Oh no!
Looking at per capita emissions is much more fair.
Individuals can of course make choices to reduce their emissions, Americans more than most since they're starting higher. Buy less new stuff, eat less meat, fly less, etc.
But policy is where real change needs to be made, and the effects of policy still scale with population in most cases.
I disagree, I feel (experienced) developers are excellent at this.
It's always about translating between our own domain and the customer's, and every other new project there's a new domain to get up to speed with in enough detail to understand what to build. What other professions do that?
That's why I'm somewhat scared of AIs - they know like 80% of the domain knowledge in any domain.
Allowing advertising quickly makes everything about getting more eyeballs and therefore more income from advertising. Users aren't the customer, they are the product.
That directly leads to all these addictive dark patterns.
- Notes about what I did, every so often. Or what I talked to someone about, what was decided.
- If I'm programming, I try to have a kind of plan for the next fifteen minutes / hour in a few sentences. "Going to refactor this now." "Updating the state here so it can hold this information." "Adding a component for this". Just so that I do think about what I'm going to do for a bit.
That sort of thing.
Apart from the to-do's the main point is to keep my focus, when I'm writing thoughts on paper I'm not on Hacker News. It doesn't matter all that much what the writing is, to me.
But Spain is much further to the west.
reply