Путешествуйте вместе со мной через десятилетие программирования на C#. Это дикая поездка, полная побед, ошибок и множества уроков, усвоенных на собственном горьком опыте.

Размышляя о своем десятилетнем пути с C#, я возвращаюсь к началу. Время, когда каждая строка кода была экспериментом, а каждая ошибка — камнем преткновения на пути к прогрессу. Решения танцевали вне досягаемости, дразняще близко, но ошеломляюще неуловимо. Но каждое преодоленное препятствие, каждый победный момент, когда код работал безупречно, приносили с собой чувство выполненного долга, которое оправдывало каждую неудачу.

Оглядываясь назад, можно сказать, что мудрость, накопленная вечерами, проведенными над клавиатурой, становится совершенно очевидной. Я жажду пути назад в прошлое, возможности направить себя в молодости. Разгадать тонкости логики C#, овладеть искусством отладки, объяснить принципы объектно-ориентированного программирования.

Как бы мне хотелось осветить этот путь открытий, успокоив боль испытания огнем. Перенесемся вперед через часы неустанной отладки и быстро приведем свое прошлое «я» к сфере владения C#.

Если вы отправляетесь в путешествие по C# или где-то на этом пути оказываетесь в лабиринте кода, уроки, которые я усвоил, могут послужить вам путеводной звездой. Я предлагаю вам эти 13 жемчужин — идеи, полученные в результате десятилетнего путешествия по океану C#. Воспринимайте эти уроки как компас, указывающий вам на насыщенный кодами горизонт.

Отправьтесь в это путешествие, когда мы углубимся в книгу «Моя машина времени C#: 13 уроков из 10-летнего путешествия», предлагающую вам коллекцию уроков, которые мне хотелось бы получить в начале моего исследования C#.

Часть I: ООП, обработка ошибок, инструменты

В первые дни моего исследования кода слова, которые я шептал самому себе прошлым тихим ранним утром, были:

«ООП — встретитесь, поймите, используйте!»

Почему, спросите вы?

Впечатляюще сложные и невероятно подверженные ошибкам конструкции кодирования стали результатом моей ранней неспособности полностью понять объектно-ориентированное программирование (ООП). Я помню…