Hacker News new | ask | show | jobs
by eipipuz 1376 days ago
Except as the article says, names tend to stick, scopes don't.

This PaymentService grew into fraud detection. So the new hire will be even more confused. Asking "What does Picard do?" is natural, where a new hire might have trouble asking "What does the PaymentService do?"

2 comments

As someone else mentioned in the replies, this sounds more of a problem of not having a top level design than a naming problem.

You have bigger problems if your `PaymentService` morphs into the functionality of being a storage or user service.

I would not say top level design. Software is often born out of software. It's more like a woman keeping her children in her womb instead of giving birth to them.
I don't think somebody would be more confused to learn that payment service also deals with fraud (which is something a lot of people are aware of - every payment service on the face of the planet has now warnings about fraud) than having to deal with "Picard is not connecting to Bilbo because Legolas is refusing to pass KrumpleSnitch to Kthulhu". In fact, I'm not sure it's humanly possible to be more confused than dealing with something like that.

And if you having a payment system that starts doing something payments systems traditionally don't do - like, I dunno, predict weather? - then you have a design problem and should refactor your system so your payment system doesn't do that anymore.