Брутально и бессердечно о программировании и проектировании
ГлавнаяФорумАртПаттерныТест-драйвЗаметкиВопрос-ответКнигорецензииСправочная

Magic numbers

«Magic numbers» это «хардкодинг» каких-либо числовых значений. Например, это могут быть математические и физические константы, какие-либо коэффициенты или поправочные параметры. Вот пример этого антипаттерна:
0
1
2
std::size_t packet_size = 74 * 12 * sizeof(packet) + 65;

float length = 2.0f * 3.1415926f * circle.get_radius() - 15.4f;
 
Цифры не несут никакой семантики. В глаза бросается только, быть может, число «пи», да и то не всем. Данный антипаттерн затрудняет понимание программы и усложняет ее рефакторинг. Вместо магических чисел следует использовать переменные и константы, имеющие семантически верные имена.

Оглавление
Статистика
© 2007—2009 Inside C++ Коммерческие услугиКонтактная информация

Окна Trocal в Москве. Проходящие выставки в Росии.. Monitor Audio Silver RSLCR O