4 ms·
I utterly disagree with you. After 30+ years of doing this, I almost always despise "descriptive names" - they are almost always wrong, generic, and hard to say
by gilbetron 4y ago
I utterly disagree with you. After 30+ years of doing this, I almost always despise "descriptive names" - they are almost always wrong, generic, and hard to say/type. They are difficult to change, and even if you do change them, you just end up with another crappy descriptive name. "database-writer" or "user-database-writer" or "database-post-writer" or "event-logger" or "event-logger-2". While every once in a while you'll encounter a descriptive name that lets you actually know what it does and doesn't change over time, the vast majority of the time that name is still hard to write/say and so people use initials which makes the descriptive name pointless.
Use a non-descriptive name, because you can't tell what a service/app does by just the name. People say "google" not "global-web-searcher". You can't tell what a service really does by just the name, so stop trying.
- bmitc 4y agoDescriptive names can still be bad. Cute names have no chance of being useful. Someone else pointed it out or alluded to it, but I suppose there is a gradient of abstraction. The level of abstraction, from product to service to component to module to function to variable names, probably determines some allowance in how generic the name can be, from more generic to less generic, respectively.
- ycombobreaker 4y ago> Cute names have no chance of being useful. A cute name can be useful if it implies its intent. This usually relies upon some social shared context. Gopher: mechanism for fetching data Ask Jeeves: search engine Alta Vista: i guess literally a lookout point Web itself is an analogy, and probably so successful that it no longer sounds cute.
- evandale 4y ago> Cute names have no chance of being useful Are the names Amazon, Google, Facebook, Kleenex, Q-Tip, Thermos, Yo-Yo, or Zipper useful? They're all cute names and I'm positive most people could tell you what each of these things do. How is that not useful?
- bmitc 4y agoSee https://news.ycombinator.com/item?id=34324480 https://news.ycombinator.com/item?id=34324480
- JoBrad 4y agoExactly. Being descriptive is how you get a service that does something completely unrelated to its name, later on. Or worse, you end up with 2 services with similar names that do similar things, and users aren’t sure why there are 2, but just know which one they like.
- seti0Cha 4y agoI too have been doing this for decades and I completely disagree with you. The vast majority of names I see are mostly correct, with the exceptions representing the areas with most technical debt. It is far easier to remember the handful of services with bad names do than to have to remember the mappings for every piece of functionality. If there's an order service, it's pretty good bet it will process orders. If there's a search service, it probably does something with search. Does it also do billing? Maybe. Then that's one I'll just have to remember. But it's way easier to remember "some bonehead put billing in the orders service" than "orders and billings is snowwhite, search is sneezy...or was that dopey?" And if you have an orders service that doesn't do orders...well, there's clearly some very bad technical debt in that area. That's worth knowing too.