Эволюция кода Гоши Дударя: от спагетти-кода к чистому коду

Этот анализ сравнивает код Гоши Дударя, представленный в разных видео, за последние 4 года, и демонстрирует его эволюцию.

Сравнение старого и нового кода

Видео трёхлетней давности демонстрирует некачественный код: нарушение нотации переноса строк, использование нижних подчеркиваний в именовании переменных, дублирование кода, отсутствие форматирования. Например, классический пример — «стена кода» без переносов, с постоянным дублированием и нарушением стилистических правил. Наблюдаются ошибки: неверные именования переменных, неправильное использование модификаторов доступа, дублирование кода, нелогичная структура. Бесплатный курс, рекламируемый как профессиональный, демонстрирует код, качество которого оставляет желать лучшего.

В качестве примера некачественного кода можно привести следующий фрагмент (предполагаемый):

int _myVariable = 10;
int _anotherVariable = 20;
int result = _myVariable + _anotherVariable;
Console.WriteLine(result); // 30
int _yetAnotherVariable = 30;
int finalResult = result + _yetAnotherVariable;
Console.WriteLine(finalResult); //60

Этот код можно улучшить, используя векторы и циклы, а также правила именования и форматирования.

Эволюция стиля кода

За четыре года произошла заметная эволюция стиля кода. Хотя он не соответствует уровню senior-разработчика, улучшение очевидно. В новом коде соблюдается нотация именования полей (например, использование private полей с нижним подчеркиванием и приватных констант с заглавными буквами). Хотя есть мелкие неточности (например, неправильный порядок констант), код стал более читаемым и структурированным. Методы всё ещё длинные, но дублирование кода уменьшилось. Это уже код человека, который понимает основы написания качественного кода.

Пример улучшенного кода (предполагаемый):

int[] myNumbers = { 10, 20, 30 };
int sum = 0;
foreach (int number in myNumbers)
{
    sum += number;
}
Console.WriteLine(sum); // 60

Анализ демонстрирует положительную динамику в качестве кода Гоши Дударя за последние четыре года. Хотя до уровня опытного разработчика ещё далеко, прогресс очевиден. Использование стандартов и рекомендаций, таких как DNet Framework Design Guidelines, положительно влияет на качество кода. В качестве дополнения приведём пример работы с перечислением в C#, где можно вручную присвоить значения, используя векторы для повышения эффективности. Пример (предполагаемый):

public enum MyEnum
{
    Value1 = 10,
    Value2 = 20,
    Value3 = 30
}

Что будем искать? Например,программа