MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Как организовать структуру проекта .NET Core?"
Answer 1231653
Негласно принято правило, что структура каталогов проекта в файловой системе соответствует пространствам имен. Например, пространство имен
X.Y.Z
соответствуетX/Y/Z
в структуре каталогов. Это позволяет проще ориентироваться в проекте даже без установленной на компьютере IDE. Это значит, если у вас каталог modules, файлы в ней должны содержатьnamespace modules
.На деле же "modules" является плохим именем для каталога и пространства имен. Если это не пример, а реальное имя, поменяйте его. Для начала, идентификаторы пространств имен пишут с большой буквы. Кроме того, имя должно быть осмысленным. Обычно принято либо именование по архитектурным слоям в соответствии с принятой методологией проектирования (MyProject.Models, MyProject.Views), либо по функционалу (MyProject.Calculation, MyProject.DataAccess). Отступления возможны, когда в одном пространстве имен слишком много файлов, и каталог приходится дробить далее, либо когда пространства имен слишком длинны и создание каталогов с такими же именами приведет к ошибкам на отдельных компьютерах.
Все эти правила неписаные, Framework Design Guidelines не покрывают структуру исходников, так как они видны только разработчику. В отдельных организациях могут существовать свои стандарты по структуре проектов.
Нужно ли кидать файлы bin и obj на гитхаб, или их нужно игнорировать?
Ответ на этот вопрос сразу станет ясным, если посмотреть на стандартный файл .gitignore, который Github рекомендует для Visual Studio: https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# Build results ... [Bb]in/ [Oo]bj/
Эти каталоги относятся к тем, которые почти всегда игнорируют, так как они содержат выходные и промежуточные файлы сборки. Рекомендуется перед заливкой в Git проекта, тем более большого, не гадать, какие файлы игнорировать, а добавлять стандартный файл .gitignore для Visual Studio, а затем уже штучно по ситуации разрешать какие-то игнорируемые каталоги, если они нужны в индексе. В противном случае есть вероятность, что размер репозитория будет раздуваться из-за мусора в индексе, который вы не предусмотрели.
См. также: How do you organize your projects? - Software Engineering
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.