ASPNETCORE
Aspnetcore похож на завод c цехами, мастерскими, складами полуфабрикатов. И конвейром. Часть деталей получают от сторонних поставщиков, что-то делается внутри у себя в цехах.
Продукцией завода согласно документации, представленной всем желающим, является http responce.
Сначала мастерские запасаются необходимыми для работы инструментами, материалами, коллекциями, настройками, классами, определяются кто в какой очередности и что будет делать.
И только потом запускается конвейер.
Есть там свои отчеты, проверки качества, раньше назывались ОТК и конечно рабочие, разнорабочие helpers, бригадиры-providers, библиотеки, вне кода - мерчендайзеры, зазывалы-популяризаторы и технологи. Я помню свои ощущения,стоявшего в тоске и печали на пятачке у выхода в цеха настоящего завода, на пригреве, курил и ни фига не понимал с чего начать. Как во всем этом разобраться.
Обычное дело.
Можно, конечно, ходить по цехам смотреть кто-что делает, но после это некий сумбур остается в голове. Причинность, название инструментов и коллекций, всяких деталей не понятна. Можно сравнить с лего, разложенное по пакетикам, готовый продукт там не угадывается.
Проку мало.
Есть одна замечательная штука почти в каждом коде - это возможность писать лог, он дает свободу, чувство контроля над конвейром. Лента бежит, а ты получаешь информацию, что там происходит.
Представьте что вы идете по незнакомым местам, и ставите зарубки или крестики мелом.
Если этого не делать, то вам придется постоянно вспоминать: так здесь, я кажется повернул налево, потом нужно направо, эту штуку я где-то уже видел.
Территория большая, конвейер работает быстро, все мелькает, только отвлекся, смотришь - зачем то на сторону в collection сохранилось, или hadler дернули. Зачем сделали - не понятно, может технолог из другого цеха попросил.
Много помещений, лифтов, туннелей. Запутаешся.
Если же делать пометки когда пробираешься по лабиринту aspnetсore, то значительнее веселее. Беспокойство испаряется, не потеряешься, знай себе зарубки делай, когда нужен будет весь отчет, вот, пожалуйста, все ходы записаны.
Как у Высоцкого “Ну вот, исчезла дрожь в руках,…”.
Короче говоря, “треугольник будет выпит, будь он хоть паралелепипед…”.
По большому счету, больше ничего не нужно, ни кино, youtube я имею ввиду, ни советы бывалых, да и reference тоже. Тем более что reference тяготеет к абстракции и не дает ощущения, что же там внутри.
Нужны логи непосредственно в source ASPNETCORE и баста.
Нужно скачать репо, в solution пристроить свой logger и писать что в голову придет.
Я сначала читая, код, делал комментарии, но последовательность вызовов важна. Да и назначение класса можно понять только в часть процесса, как я уже сказал.
Я добавил в repo библиотеку со статическим методом вызова, чтобы не путать с системными логами и удалять его тоже проще, если дать ему отличное от стандартного лога название и записи находить удобно.
Потом включить во все проекты ссылку на него. Потому в собщение добавить номер строки вызова, название класса, пользуясь caller атрибутами, добавить свои кастомные понятия, а не стандартные (warning, error), можно markdown symbols :lamp:, :exlamation: добавить, и выводить его в .md, почему нет.
Получится некий отчет - где будут представлены этапы, блоки, скрытые работы - как в строительстве, которые актируются по мере готовности, а не при завершении строительства.