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. 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?

— Darin
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to