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