подскажите, каким образом можно описать общие принципы построения кода системы? (которая состоит из множества файлов php, js, шаблонов)
Начните со сбора функциональных требований, в быту ТЗ. После написания ТЗ переходите на проектирование информационной системы, используя различные диаграммы UML. Когда дойдете до классов - станет понятно на чем в итоге вы будете писать ту или иную функциональность. Если я конечно правильно понял ваш вопрос.
Вообще-то, в профессиональном сообществе, функциональные требования это - ФТ.