Please use a unique prefix for all function names, custom images sizes, classes, CONSTANTS, hooks, public/global variables, and database entries to avoid conflict issues with plugins and other themes. For example, themename_ OR frameworkname_
For examples and there are more: http://envato.d.pr/nkzs/1bPaxXWI
- Third party scripts/ styles don’t need to be prefixed to avoid double loading.
For examples and there are more: http://envato.d.pr/7hEx/4XoI4Wam
Why review process is so unclear ?
I already had this experience when submitting an item.
The problem here is that there are multiple reviewers for the same item. There is no discussion between 1st and 2nd reviewer.
It makes sense. First of all you prefix all function names, custom images sizes, classes, CONSTANTS, hooks, public/global variables, and database but keep in mind, when you enqueue an third party script it don’t need to be prefixed because if you will install another plugin it will load the same style/script again.
In your case, main-js needs to be inside_theme-main-js
So if you use for example bootstrap.css the id “bootstrap”, then if you will install a plugin, it will have the same structure and will not load bootstrap again.
An same for all third party scripts.
In conclusion: prefix all but leave the third party scripts/css not prefixed