Читая разные статьи или книги часто встречаюсь с понятием boilerplate code, но как оказалось, в моем окружении мало кто понимает его значение в программировании.
Понятие boilerplate code или boilerplate относится к секциям кода, которые должны быть написаны во многих местах с минимальными изменениями. Часто используется по отношению к языкам, в которых программист должен написать много кода, чтобы выполнить минимальную задачу.
Boilerplate code нарушает принцип повторного использования кода. Когда мы пишем такой код в разных частях приложения, сложно запомнить все места где он использован и в случае изменения в одном месте придется потратить какое-то время на поиск всех блоков где использованн данный код.
Примеры :
Самый простой пример это структура html :
1 2 3 4 5 6 7 | <!DOCTYPE html>
< html >
< head >
< title ></ title >
</ head >
< body > </ body >
</ html >
|
В C#, чтобы объявить обычные свойства класса, раньше мы писали так :
1 2 3 4 5 6 7 8 9 | class Student
{
private string studentName;
public string StudentName
{
get { return studentName;}
set {studentName = value;}
}
}
|
Если у нас нет никакой специфической логики для чтения/записи этого свойста, то оно расценивается как boilerplate. Такой код занимает много места и как мы уже отметили не делает ничего кроме инкапсуляции доступа к свойству studentName. К тому же они довольно утомительны для написания, если их нужно написать десяток. Конечно же Visual Studio может их сгенерировать, но более эффективным способом борьбы будет использование автосвойств в C#:
1 2 3 4 | class Student
{
public string StudentName{ get ; set ; }
}
|
Такой код абсолютно индентичен, более краток и лучше читаем чем предыдущий.