[webkit-dev] Terminology for giving up ownership: take, release, move

Alfonso Guerra huperniketes at gmail.com
Mon Sep 5 19:10:14 PDT 2016


Is it imperative to restrict the choices to the current nomenclature?

If you're finding it difficult to pick from among them, perhaps a glance
through Dictionary's thesaurus will help. Something like cede, yield, or
relinquish? and for the counterpart perhaps manage, contain, hold or
another synonym?


Alfonso Guerra
Founder/CEO
Apokalypse Software Corp.
(626) 667-4285




On Mon, Sep 5, 2016 at 7:22 PM, Maciej Stachowiak <mjs at apple.com> wrote:

>
> On Sep 5, 2016, at 3:30 PM, Dan Bernstein <mitz at apple.com> wrote:
>
>
> On Sep 5, 2016, at 10:13 AM, Darin Adler <darin at apple.com> wrote:
>
> Hi folks.
>
> WebKit has some critical functions that involve asking an object to give
> up ownership of something so the caller can take ownership.
>
> In the C++ standard library itself, this is called move, as in std::move.
>
> In WebKit smart pointers, we call this operation release, as in
> RefPtr::releaseNonNull and String::releaseImpl.
>
> In WebKit collections, we call this operation take, as in HashMap::take
> and ExceptionOr::takeReturnValue.
>
> The release vs. take terminology is distracting to my eyes. The verb
> “take" states what the caller wishes to do, and the verb “release” states
> what the caller wants the collection or smart pointer to do.
>
>
> This can be addressed by renaming take to give (hey, it’s right there in
> the subject).
>
>
> It's logical but reads perhaps a little strangely:
>
> Value& = map.give(key)
> X* = x_ref.give()
>
>  - Maciej
>
>
> My first thought was be to rename the take functions to use the word
> release instead, but I fear it might make them harder to understand instead
> of easier and clearly it would make them longer.
>
> Does anyone have other ideas on how to collapse WebKit project terminology
> down so we don’t have three different single words that are used to mean
> almost the same thing?
>
>
> Rename release to give, too?
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
>
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20160905/64846537/attachment.html>


More information about the webkit-dev mailing list