Purpose: to aggregate pointers to useful tips, tools, functions, and techniques for Tcl programmers needing to locate and repair problems in their Tcl (or Tk) programs.
http://www.wjduquette.com/tcl/namespaces.html
Rule 1: Follow the Tcl Style Guide.
Rule 2: Put library code in a package.
Rule 3: Don't pollute the global namespace.
Rule 4: Don't export standard command names.
Rule 5: Put the package code in a namespace of the same name.
Rule 6: Explicitly require packages used by your package.
Rule 7: Define package commands using a fully qualified name.
Rule 8: Explicitly export public commands.
Rule 9: Define package variables using the variable command.
Rule 10: Be careful changing global to variable
Rule 11: Pass fully-qualified variable names to other packages.
Rule 12: Pass scripts to another package using namespace code
Rule 13: Never import names into another person's namespace.
Rule 14: Import names into your own namespace.
Rule 15: An application should explicitly require the packages it uses.
Rule 16: An application may import names into the global namespace.
CORBA Scripting with TCL