Как новый разработчик, я полностью смущен именами и структурными соглашениями для разработки кода на c # с использованием передового опыта.
Я ценю, что это возможно применимо к каждому домену, для которого я разрабатываю, но я виделкод многих различных проектов с открытым исходным кодом, и, кажется, есть общая тема.Успешные проекты имеют хорошо продуманную структуру для обслуживания и расширяемости.
Термины контекст, сервис, репозиторий и контроллеры используются часто, и мне было интересно, открыты ли они для интерпретации или есть консенсус или соглашение о том, что,где и как они используются.
В платформе электронной коммерции, которую я видел, есть, например, сервисы заказов, контексты заказов, хранилища клиентов и контроллеры продуктов.Что они должны делать на основе этих имен?Контроллер делает что-то другое для службы?Когда вы должны использовать контекст?Существует ли соглашение для пространств имен?Это просто ошеломляет, когда ты пытаешься вытолкнуть новичка с нуля и попытаться двигаться дальше.
Какое программное обеспечение / инструменты мне действительно нужно искать для разработки качественного кода?Модульное тестирование, непрерывная интеграция, Resharper, инструменты Mocking, контейнеры DOI, nHibernate.
На самом деле я не знаю, какие блоги / книги помогут мне превратиться из опытного веб-разработчика в кого-то, кто может разрабатывать расширяемый, качественный и тестируемый код.Есть большие пробелы в предположениях авторов.Вы либо новичок, либо разработчик программного обеспечения.
Я хочу отказаться от того, чтобы быть младшим разработчиком с долгосрочной целью быть архитектором программного обеспечения.Я понимаю, что это все о моделях и практиках, но где учебные материалы?Я работаю самостоятельно, поэтому у меня нет возможности учиться у других.
Спасибо