Mine would be: Make sure your code takes into account what users may do when they use your routine.
As an example, take this into account:
(setq thing
(entget
(car
(entsel "\nSelect item you want to delete: ")
)
)
)
This will completely bomb out when the user doesn't select something - which will happen in the course of normal events.
It's better to wrap it into an (if..then..) expression:
(if (setq e (car (entsel "\nSelect the item you wish to delete:")))
(setq e (entget e))
)
If the user doesn't select anything, (car nil) still returns nil, because nil is actually a list data type.