Live data from Hacker News

Software component names should be whimsical and cryptic

medium.com

101–110 of 339 posts

Re: Software component names should be whimsical and cryptic

#101
post #93

> See, the scope and purpose of something changes faster than its name can. There's your problem. Create libraries that aim to do one thing and do it well. Once you release your project and have users that depend on your code, you owe it to them to maintain it in the original scope. If you have an urge to change your project's scope so much that the name should change, create a new library with a better name instead.…

> Create libraries that aim to do one thing and do it well. That's nice and all, but once you combine that with giving them descriptive names, you're going to have a list of hard-to-distinguish projects like: - css-min - css-polyfill - css-inline-min - css-inline-polyfill - css-script-min - css-script-polyfill - etc. Good luck clarifying what you're talking about. And of course, people will start using acronyms for a…

And then someone makes a package to combine all of them, and then someone makes a package that combines that combining package with another combining package, and then the author of `css-script-polyfill` deletes the repo, and we're dealing with another leftpad

https://qz.com/646467/how-one-programmer-broke-the-internet-...

Re: Software component names should be whimsical and cryptic

#103
I think software component names should all just be UUIDs.

This way no one is misled by the name. Also, there is much less chance that an offensive name gets picked (either intentional or unintentionally).

There is also much less risk of collisions. In addition, you don’t waste any time trying to come up with a name.

Re: Software component names should be whimsical and cryptic

#104
post #89

Perhaps just give descriptive names and then change it when the scope changes?? "Problem" solved! Afraid of losing stars/dlds on the repo/etc? Make it clear in the Readme where the new project is. Have warnings et al for NPM projects. Ask npm/GitHub to allow name changes with redirects. This proposed "solution" is just bad for many reasons: You need to delve into the Readme to find out what it does. Imagine you're se…

Renaming is work that doesn't improve the functionality.

Functionality isn't all that matters. Software has many other aspects.

Re: Software component names should be whimsical and cryptic

#105
post #33
post #17

Earlier quoted context omitted.

As a counter example, there are plenty of successful projects/brands with highly descriptive names: TypeScript, RHEL, GitHub, AWS, GraphQL, HAproxy, Sendmail, QuickBooks, …

QuickBooks I'm assuming this is a tool for quickly laying out and publishing books. Or perhaps a tool for quickly searching for and downloading books to my iPad or ebook reader.

Yep, could also be those things.

But accounts and bookkeepers all know what QuickBooks is and are quite happy to not have to explain to their clients why they need to spend $75 a month on "KowalaBabyPooPoos" or something equally ludicrous name.

Which is the point which you probably didn't miss in the first place.

Re: Software component names should be whimsical and cryptic

#106

Inside this essay giving horrible advice, is more horrible advice: > Even worse are those ubiquitous diagrams everybody uses to communicate about software, where there’s a box labeled OrdersService with an arrow connecting it to a box labeled OrderStatusService. I don’t understand why anybody draws those. People like this are why there are documents with a thousand bullet points and no diagrams to help anyone actuall…

Sure but what to do if all the good names for doing the thing the thing is doing are taken ?

Re: Software component names should be whimsical and cryptic

#107

> See, the scope and purpose of something changes faster than its name can. There's your problem. Create libraries that aim to do one thing and do it well. Once you release your project and have users that depend on your code, you owe it to them to maintain it in the original scope. If you have an urge to change your project's scope so much that the name should change, create a new library with a better name instead.…

In theory, it makes sense that you would just create a new library with a better name, but if the original product has been on GitHub long enough to have amassed followers and a significant number of stars, they may be hesitant to have to ask those contributors to re-add the new repo.

Re: Software component names should be whimsical and cryptic

#108
The author seems to be talking about names for two totally different things, lumping them under the term "component."

Whimsical project name? No problem.

Whimsical type name within a project? Really bad idea.

Whimsical variable name? Don't even think about it.

The concept the author is missing is "convention." Whimsical project names fall within a well-understood and used convention. The convention for type and variable names, however, is set by the standard library and these are almost always descriptive. Their purpose is, in the best case, to reinforce a ubiquitous language drawn from the domain.

Re: Software component names should be whimsical and cryptic

#109
post #11

Earlier quoted context omitted.

Seems that names for projects follow the same rule as troll names in the japanese light novel Overlord. Short names, like "Gru" were reserved for the most powerful trolls because there were only so many combinations of three letters. Long names on the other hand were a sign of weakness and cowardice - bringing ridicule to those who introduced themselves like that.

Sed and awk kind of sound like high-level troll names.

Bill, Bert, Tom, Sed and Awk. It kind of works.

Re: Software component names should be whimsical and cryptic

#110
post #35

Earlier quoted context omitted.

What is descriptive about "RHEL" or "AWS"?

I abbreviated on the phone, but the respective full names are “X Enterprise Linux” and “X Web Services” which are literal description of what their thing is. “RedHat” and “Amazon” are generic, but the product names are highly specific. I mean it could’ve been “RedHat Cthulu” and “Amazon RainBox”.

I strenuously dispute that "Web Services" is "highly specific".
Post reply on HN