Scripting style: Verbs in function names

Devin Asay devin_asay at byu.edu
Thu Nov 3 19:00:57 EDT 2016


> On Nov 3, 2016, at 4:16 PM, Monte Goulding <monte at appisle.net> wrote:
> 
> Hi LiveCoders
> 
> In a PR I have open Peter has asked me to `Please name this function with a verb` and I recognised that in LiveCode this is something I don’t do out of habit while in other languages it is. Why? Because in the context the a function is used there is already a verb in the statement in our language. I definitely think verbs should be used for custom handler names though. It seems to me that if my gut feeling and what I’ve been practicing for a long time is seen as general best practice for the community then it should be documented.
> 
> I notice that there’s a mix of noun and verb engine functions.
> 
> What do people think:
> 
> put GetSomething() into container
> 
> or 
> 
> put Something() into container
> 
> BTW I’m happy to change my ways I’m just curious what people think.

Almost all commands are imperative verbs:

go 
do
set
put
import
grab
etc.

Most built-in functions tend to be nouns:

date 
time
focusedObject
folders 
files
functionNames

And some functions are adjectives:

random (although you could argue this is a nominalized adjective)
licensed

Some functions are even predicate phrases, camel-cased:

isNumber

And there are a few functions that are verbs:

flushEvents
getResource

I think the best function names are the ones that “read” naturally in a statement:

  put the random of 10 into myVar

  if isCorrect(fld “answer”) then…

So when I name commands I use verbs. When I name functions I tend to use nouns or predicate phrases, whatever reads like natural x-talk.

Devin


Devin Asay
Director
Office of Digital Humanities
Brigham Young University



More information about the use-livecode mailing list