The long answer on when to use a function vs command
Phil Davis
davis.phil at comcast.net
Wed Mar 15 01:39:44 EST 2006
Hi Tom,
Here are some simple ways I figure out whether to use a command or a
function in a given situation.
A function name can naturally take on the role of a noun in a sentence.
Or in RunRev terms, it can naturally fill the role of a containerName. A
good function name can really improve the readability of the code in
those places where it is used.
put selectedTunes() into fld "tuneList"
put cardObjectIDs("firstCard") into tObjectList
if errorCount() > 3 then...
In each of the above cases, a function name takes the place of a
subprocess that is probably secondary to the purpose of the calling
handler. That secondary code is moved to a place of its own, where it
can be appreciated for its value instead of cursed as a distraction, as
it might be if it were coded inline. Without functions, code would be a
lot harder to read.
A command name can be a short imperative sentence without the spaces:
refreshMembersList
closeCurrentScreen
startMotor
moveRobotArm "left",5 -- this one has 2 parameters
If at a given spot in your code, you can describe what needs to be done
in a short sentence like the ones above, a command will probably serve
well in that spot.
This isn't exactly what you asked for, but maybe it helps.
Phil Davis
Thomas McGrath III wrote:
> Hello listeroos,
>
> Can someone give the long answer on when is it best to use a function
> versus a command? I have a lot to write of both commands and functions
> and have been overly confusing myself. Please give at least two
> examples each with parameters and how to call/use them.
>
> Much appreciated,
>
> Tom
>
>
> Thomas J McGrath III
> 3mcgrath at adelphia.net
>
> Lazy River Software - http://www.lazyriversoftware.com
>
> Lazy River Metal Art - http://www.lazyriversoftware.com/metal.html
>
> Meeting Wear - http://www.cafepress.com/meetingwear
>
> Semantic Compaction Systems - http://www.minspeak.com
>
> SCIconics, LLC - http://www.sciconics.com/sciindex.html
More information about the use-livecode
mailing list