Этот анализ сравнивает код Гоши Дударя, представленный в разных видео, за последние 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
}