top | item 32828910

(no title)

eipipuz | 3 years 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?"

discuss

order

cbushko|3 years ago

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.

jffhn|3 years ago

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.

smsm42|3 years ago

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.