NAMING CONVENTIONS FOR EXTENSION
================================

=== Files ===
Dialog files:
dlg[CamelCasedName].xul
dlg[CamelCasedName].js

Modules:
[camelCasedName].jsm

Components:
ffix[CamelCasedCapitalizedName]Component.js

Other files:
[camelCasedName].js
[camelCasedName].png



=== Code ===
Overlay worker scope-level vars:
var ffix[CamelCasedCapitalizedName]Wkr = {...}

Dialog worker scope-level vars:
var ffixDlg[CamelCasedCapitalizedName]Wkr = {...}

Other scope-level vars:
var [camelCasedName] = {...}

Local-level vars:
var [camelCasedName] = ...
function(camelCasedName, camelCasedName, camelCasedName) ...

'Private' object vars:
_[camelCasedName] = ...

'Public' object vars:
[CamelCasedCapitalizedName] = ...

Overlay IDs:
ffix[CamelCasedCapitalizedName]Overlay

Dialog IDs:
ffixDlg[CamelCasedCapitalizedName]

Toolbar button IDs:
ffixToolbtn[CamelCasedCapitalizedName]



=== Prefs ===
When naming prefs for my extensions, the best format is the following:

extensions.ffe_ffix{at}game-point{dot}net.whatever

- "extensions." is widely used for extension-specific prefs - use this branch of the pref tree.
- "ffe_ffix{at}game-point{dot}net." is my extension's ID, but with '@' and '.' replaced with textual representations to make it respect the concept of a pref hierarchy (ie. not using '.' as something other than a namespace separator), and guarantee the pref's name is not invalid.
- "whatever" is then whatever name I decide to give this pref; it is now in a namespace almost guaranteed to be particular to my extension.
