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

Magic strings

Этот антипаттерн, как можно догадаться из названия, похож на «Magic numbers». «Magic strings» — это прописывание в коде строковых значений для сравнения с какими-либо параметрами. Например, для сравнения со значением названия события, как в следующем примере:
0
1
2
3
4
5
6
7
8
9
10
11
if(event.type() == "begin")
{
    // Какой-то код
}
else if(event.type() == "process")
{
    // Какой-то код
}
else if(event.type() == "commit")
{
    // Какой-то код
}
 
Во-первых, не всегда понятно, что именно за событие кроется за его строковым именем. Во-вторых, как вы понимаете, компилятору совершенно все равно, какие строки сравнивать. Если вдруг написание имени события поменялось, или же просто была допущена орфографическая ошибка, то вы об этом во время компиляции ничего не узнаете.

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

Знакомства для Группового Секса . воздушный автоматический выключатель . Качественный бассейн стал доступнее - павильоны для бассейнов Высокое качество работ.