Я работаю с С# в течение многих лет, и в основном я использую однотипный способ делать что-то. Я также люблю помещать файлы во вложенные папки (соответствующие пространствам имен на С#).
Но теперь я создаю мобильное веб-приложение, использующее TypeScript, и считаю себя структурирующим свой код во многом таким же образом. Однако это не работает слишком хорошо:
- Каждый файл создает оболочку модуля, поэтому, если у вас много файлов с одним и тем же модулем, вывод (в комплекте) содержит много ненужных строк кода.
- Типы ссылок в других модулях... не так хороши, как в С#, так как вам нужно приписать имена типов с именем модуля.
Первая точка должна быть исправлена, написав небольшой инструмент, чтобы вырезать ненужные обертки модулей из связанного вывода. И я думаю, что мне нужно избегать использования подмодулей и просто вставлять все в один модуль, независимо от расположения файловой системы.
Есть ли лучший способ структурирования кода TypeScript, чем то, что я сейчас делаю/планирую, или что-то вроде выше рекомендуемого? Какие существуют альтернативы, которые стоит учитывать для тех, кто любит принцип единой ответственности?
PS: Я надеюсь, что это подпадает под принципы SO, несмотря на то, что, возможно, является немного субъективным и открытым.