Корпоративная разработка расслабляет
За много лет в разработке я довольно редко встречал в больших проектах что-то действительно интересное в плане алгоритмов или работы с редкими классами и структурами. Код в больших корпоративных приложениях довольно скучный и однообразный, если ты уже не новичок и не первый год программируешь.
Меня когда-то на прескрине к одному из собеседований рекрутер спросила, знаю ли я, что такое Span. И я не придумал ничего лучше, как ответить, что это связано со временем, вспомнив, что для работы с датами есть структура TimeSpan.
Правда, от меня тогда хотели знаний и опыта работы именно со структурой Span.
Стоит отметить, что после того интервью мне едва однажды довелось на разных больших и маленьких проектах столкнуться с использованием этой замечательной структуры другими разработчиками.
Span позволяет работать с непрерывным участком существующей памяти без копирования самих данных, а в подходящих сценариях ещё и избежать дополнительных аллокаций.
Зачастую разработчики, пишущие код для микросервисов больших корпоративных приложений, не особо заботятся о подобных оптимизациях, потому что в большинстве задач цена такой оптимизации просто невелика. Поэтому до таких инструментов, как Span, дело доходит нечасто.
В этом посте не будет примеров кода и рекомендаций, когда использовать эту структуру платформы .NET
Тут скорее мораль заключается в том, как работа в типичных корпоративных проектах в какой-то мере балует разработчиков наличием практически безлимитных ресурсов.
Это, в свою очередь, расслабляет, ведь, например, для работы с памятью и другими низкоуровневыми вещами требуется напрягать мозги - а это порой очень полезно.