Сьогодні ще цікавого надибав:
bool test = (mail.Find('@') == -1);
if(tsInspireDate.GetDays()<15 && !active && (mail.Find('@') == -1))
{ /* ...skipped... */ }
І ніби ж не індуси…
P.S. Хоча, звісно, всяке буває… Я і у себе в коді, що часто перероблювався, якось перли знаходив (коли один дрібний фрагмент змінюєш, а попередній шматок коду, що його дублює забуваєш видалити).
Грудень 18, 2008 at 5:52 pm
в чому прикол? інгріш?
Грудень 18, 2008 at 6:36 pm
ні. змінна test ініціалізується булевим значенням, яке вказує на ненаявність символу “@” в рядку, але в порівнянні підставлено той самий код, що і для ініціалізації, а сама змінна test ні тут, ні надалі по коду взагалі не використовується.
Грудень 18, 2008 at 8:25 pm
ну то й що – код же виконується? а “загублені” змінні – це звичайна річ, з них же воду не пити…
Грудень 18, 2008 at 9:28 pm
Виконується. Просто загублені – так, трапляютсья. Але одна під іншою – це трохи дивно виглядає.
Грудень 18, 2009 at 12:06 am
Ех.. Не все що ти не розумієш, то фігня.
Змінна test – явно для дебагу. Незрозуміло трохи чому автор не вніс її в if.
Якщо це розумна мова, то 1) буде варнінг.
2) компілятор відкине цю змінну при реліз зборці.
Грудень 18, 2009 at 8:09 am
Дебажному коду не місце в релізній збірці. Його або не тре забувати прибирати, або принймні оточувати "#ifdef _DEBUG", якщо його плнануєтсья використовувати далі.
Грудень 18, 2009 at 8:10 am
P.S. Якби це було одне подібне місце – все було б нічого, з ким не буває… Але ж їх там було багато.