Best practice for avoiding module / theme / profile name clashes?
In my office we usually have a site key that gets used for most things.


Client: Acme Company &amp; Co
Key: acme
Site Folder: /path/to/WebServer/sites/acme
Custom Modules: acme_tweaks, acme_forms, acme_blocks, acme_settings
Theme: acme_theme
Repo: acme.git
etc...


For code that we re-use from site to site, we ensure that it's generalized and client ambiguous and then add it to some common modules that are part of our default module set - such as:


theme_tweaks
template_suggestions


Our rule is that unless it can be applied to all our client sites (at least moving forward) then it shouldn't go in theme_tweaks but in acme_tweaks etc.