Что такое Boilerplate code?

Читая разные статьи или книги часто встречаюсь с понятием 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; }  
}

Такой код абсолютно индентичен, более краток и лучше читаем чем предыдущий. 

 

 

Добавить комментарий

Loading