Don't Repeat Yourself (DRY) . Причина повторного кода - проблема, потому что для любого изменения требуется код исправления в нескольких местах. Это обычно означает больше работы для программистов и больше возможностей для ошибок. В приведенном ниже примере обратите внимание, что метод describe разделяет Bird and Dog : Bird.prototype = {Метод
конструктор: Птица,
Опишите: function () {
console.log («Мое имя» + this.name);
}
};
Dog.prototype = {
конструктор: Собака,
Опишите: function () {
console.log («Мое имя» + this.name);
}
};
describe повторяется в двух местах. Код можно редактировать, чтобы следовать принципу DRY , создав supertype (или родительский элемент) под названием Animal : функция Animal () {};Поскольку
Animal.prototype = {
конструктор: Animal,
Опишите: function () {
console.log («Мое имя» + this.name);
}
};
Animal включает метод describe , вы можете удалить его из Bird and Dog : Bird.prototype = {
конструктор: Птица
};
Dog.prototype = {
конструктор: Собака
};
eat повторяется как у Cat и у Bear . Измените код в духе DRY , переместив метод eat на supertype Animal . Animal.prototype должен иметь свойство eat .
testString: 'assert(Animal.prototype.hasOwnProperty("eat"), "Animal.prototype should have the eat property.");'
- text: Bear.prototype не должен иметь свойство eat .
testString: 'assert(!(Bear.prototype.hasOwnProperty("eat")), "Bear.prototype should not have the eat property.");'
- text: Cat.prototype не должен иметь свойство eat .
testString: 'assert(!(Cat.prototype.hasOwnProperty("eat")), "Cat.prototype should not have the eat property.");'
```