C#:
Організація коду в функції
Як це зробити:
Уявіть, що у вас є код, який кілька разів виводить привітання. Без функцій це безлад. З функціями все акуратно.
// Без функцій - повторюється
Console.WriteLine("Привіт, Емі!");
Console.WriteLine("Привіт, Боб!");
Console.WriteLine("Привіт, Чарлі!");
// З функціями - чистіше
void Greet(string name) {
Console.WriteLine($"Привіт, {name}!");
}
Greet("Емі");
Greet("Боб");
Greet("Чарлі");
Результат той самий, але друга версія набагато акуратніша.
Поглиблено
Давно, у дні мови асемблера, для переходу до різних участків коду використовували команду GOTO — хаотично і важко відстежувати. Функції — це великий стрибок вперед, мов організовані шухлядки у інструментальному ящику. Альтернативи? Звичайно. Є методи, які є функціями у контексті класу. Тоді є лямбда-функції та інлайн-функції для швидких одноразових завдань.
Що стосується впровадження – маленькі, зосереджені функції – це скарб. Вони легші для тестування та налагодження. Великі функції з багатьма обов’язками можуть стати чудовиськами, заслуживши сумнівну назву “спагеті-код”. Притримуйтеся одного завдання на функцію; потім будете собі вдячні.
Дивіться також
Для більшої інформації про функції та кращі практики дивіться:
- “Чистий код” Роберта С. Мартіна: Принципи підтримки ваших функцій охайними.
- “Рефакторинг” Мартіна Фаулера: Шляхи покращення існуючого коду.
- Посібник Microsoft C# по методах: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/methods