emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Naming guidelines for ELPA packages


From: Jim Porter
Subject: Re: Naming guidelines for ELPA packages
Date: Thu, 18 May 2023 20:49:02 -0700

On 5/14/2023 12:33 PM, Philip Kaludercic wrote:
Jim Porter <jporterbugs@gmail.com> writes:

I think I need to adjust the passage a bit to emphasize that the
Emacs/ELPA maintainers would *prefer* a simple and straightforward
name like "gobject". ...

That would sound acceptable to me.

Ok, how about something like the following? I just expanded it a bit to provide more context and adjusted the wording slightly here and there (for example, these are now "recommendations" instead of "guidelines").

----------------------------------------

Naming is hard. However, taking some time to choose a good name for your package will help make your package easier to find and to use. To assist package authors, here are some recommendations for choosing good Emacs package names. Package names should be:

  * Memorable: Aim for short, distinct names that users can easily recall.
* Intuitive: Names don't need to fully describe a package, but they should at least provide a hint about what the package does.

For example, suppose I've written a package that provides an interface between GObjects and Emacs Lisp, and named it "goeli". This isn't a very good name, since it's not easy to remember (users may find themselves asking, "Wait... was it 'goli' or 'goeli'?"), and it's nearly impossible to guess what it does from the name.

After thinking about it some more, I have a flash of insight: I'll call it "goblin" (for _GOb_ject _L_isp _In_terface)! This is easy enough to remember, but it's still not intuitive.

Perhaps the best name for a package like this would simply be "gobject". That's both memorable *and* intuitive, not to mention being as straightforward as you can get. If possible, the ELPA maintainers recommend that you choose a name like this.

However, suppose that at this point, I find myself disappointed: while "gobject" is a thoroughly practical name, I just don't want to give up the name "goblin". Instead, I could opt for a compromise: I'll still use "Goblin" when documenting the package and prefix names in my code with "goblin-", but I decide to submit it to GNU ELPA as "goblin-gobject". While this isn't as concise as "gobject", it does let the user know right away that this package has something to do with GObjects.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]