It's always tempting to just go ahead and start coding right away, and I won't deny it's the most fun part of any project. However, as your extension projects grow and become more complicated, the technical debt of quick wins and fast fixes will take its toll. As such, it's important to begin each extension project by defining a proper code structure to ensure the project is prepared to scale.
To begin with, in each extension, you can expect to have the following basic files at a minimum. We'll be using MasteringQS as a sample extension name:
- MasteringQS.qext (required)
- MasteringQS.js (required)
- MasteringQS.css (optional)
- wbfolder.wbl (optional)
While some files are optional, for the purposes of this chapter, we will include them.