Manage your work better with version control
You may want to use themes to control the source code, but a better choice would be putting your code base in a repository. This will grant an organized code, it will prevent the loss of your work and will give you a history of all your codes. If things don’t go as intended, you can always go back to a stable theme version.
If you use the version control, you might encounter problems with themes, branches, multiple developers, features and many other changes that happen through the online Shopify’s editor. Use a system that’s good for you.
The files can get large, so you’d better load it on the top of thetag. Most browsers support the sync attribute, you’ll need to use it if you want to be sure that your page’s rending will not be held up when you’re starting the request. Don’t forget to wrap the DOM logic in a document-ready function. By doing this, you’ll load the entire file at before the end of the body tag without having a single worry about the DOM execution.
You should abstract for as much as you can
Let’s say you are building a theme for a certain client. What you need to remember is that they’ll represent an important part of the store. A Shopify developer would advise you to do in such way, that you’d abstract the features found on the site for as much as you can.