Ruby FAQ: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 112:
=== Компенсация плюсов Ruby (бывает и такое) ===
 
Чрезмерное увлечение созданием DSL (domain specific language), неоправданное использование динамики. Речь идет о *_eval, .method_missing, .send. Общее правило: не следует делать реализацию более умной и сложной, чем того требует задача. Хорошая цитата со [http://merb.devjavu.com/ страницы о Мербе]:
{{Начало цитаты}}«'''Be wary of clever code!''' Cleverness for cleverness sake is not our friend; if something is only slightly more handy but infinitely more complex, then please reconsider your implementation.»{{Конец цитаты}}
 
Слишком «умный» код не только тяжел для понимания коллегами или самим писателем спустя некоторое время, но и приводит к ненужным затратам процессорного времени и оперативной памяти.