I don't have a web page, but I have posted over 900 times to this forum and to the guilds at least once a day for several years.
I started coding LISP in 1986 and have been doing it daily since.
I have written my share of spaghetti code...
Then I learned structured programming and started creating reuseable functions.
The functions I name like AttributeValue or AttributeValuePut (the get and put of the save object)
I found the noun first verb second made my libraries (when alphabetized) easy to maintain.
I also add errortrap expressions to methods and properties that may cause an error.
I also design all functions to return T or a value for success and nil for failure.
As far as lisp variables I too avoid global variables except in the case of recursive functions and of course DBX routines.
For my naming convention prefixes I use
Code:
col = collection (sometimes I just use obj for collections)
ent = entity
lst = list
lstOf = list (of sublists)
obj = object
sng = single precision real number
ss = selection set
str = string
I call an entsel return value lstSelection
ssSelections a selection set
entSelection or entItem an entity
objSelection or objItem a vla-object
strFullName as the fullname of a file
strFileName as the filename of a file
lstObjects a list of objects (while I use a lot when I convert a selelction set or collection into a list of objects)
intCount a counter
etc...
I would ask you all if you read my code is it clear when the functions do and what the variables hold?
When I post to the group I write the base code and then go get the library functions to add to the post that do specific things.
Most of my functions are super short but I have to expand them because you all do not have my libraries.
I have hundreds of code samples here at AUGI for you all to review.
I just wanted to help those new to lisp programming to not only think of making it work... but stable and easy to maintain and read