Что такое Boilerplate code?

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

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

 

 

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

Loading