Это неловкое чувство

stm6692945

Бывает ли у вас такое:
Упорно и долго ищешь решение проблемы.
И в конце-концов находишь багу, понимаешь почему код не пахал и исправляешь.
И действительно все начинает работать. Ты радуешся так как твоя теория оказалась верна.
Но вот спустя некоторые время ты замечаешь что случайно убрал фикс кода , который это исправлял
Но программа все равно работает правильно ... и тут возникает то неловкое чувство.....

margadon

Чувак, не тяни, что там дальше?

katrin2201

Неловкий момент - это когда после того, как ты пофиксил баг, найденный вдумчивым чтением кода, тесты вопреки всему ломаются.
После озадаченного чесания головы тебя озаряет, и ты в другом месте выкорчевываешь чей-то воркэраунд только что пофикшенного бага...

Realist

Упорно и долго ищешь решение проблемы.
И в конце-концов находишь багу, понимаешь почему код не пахал и исправляешь.
И действительно все начинает работать.

Уже так не бывает

Temach

Больше бесит, когда час или два ищешь баг и понимаешь что дело всего лишь в запятой, и будь ты в другом настроении, нашёл бы баг за минуту

zya369

почему?
или упор на слово все и это был сарказм?

PooH

дело всего лишь в запятой
в какой IDE работаешь?

Temach

а какую предложишь для пхп?

Alena_08_11

а какую предложишь для пхп?
phpstorm

rosali

Бывало, что для починки бага я удалял несколько чужих строчек, и не дописывал ни одной своей. Вот в такие моменты мне действительно так неловко...

inna1

Бесит, когда фиксишь, фиксишь баги, а потом оказывается, что это были фичи, и нужно их вернуть обратно...

jakal222

Семь бед - один ответ (гит)
Насчет багов: обычно в моем фреймворке, который разрабатываю, бывает кастомный класс ошибок - сказка.
Так что проблема обычно в том, что кто-то где-то получает nil. (objective-c)

PooH

а какую предложишь для пхп?
phpstorm однозначно
я на 4й версии сижу, пятая мне какие-то баги показывала
при должной настройке повышает производительность в разы

Temach

всё никак руки не дойдут глянуть...
там всё ок с работой напрямую с FTP/SCP файлами и подключением файлика hph_manual_rus.hlp для получения контекстной помощи по функциям?

PooH

Бесит, когда фиксишь, фиксишь баги, а потом оказывается, что это были фичи, и нужно их вернуть обратно...
бесит когда везде используешь классы DateTime, DatePeriod, DateInterval, а потом приходят некоторые и "фиксят" их в строки:
отобразить записи за один день:
 
 
$day = new DateTime($day_string_Y_m_d);

$stmt = $db->query("SELECT * FROM tbl WHERE dt BETWEEN :start AND :end");
$stmt->bind(":start", $day->getTimestamp DB_INTEGER);
$stmt->bind(":end", $day->add(new DatePeriod("P1D"->getTimestamp DB_INTEGER);

другой чел внедряет фичу отобразить записи за период 10 дней:
 
 
$start = new DateTime($day_string_Y_m_d);
$end = $start->add(new DatePeriod("P10D"; // я нихера не учил пхп и не знаю как копировать объекты, а про ссылки не знаю

$stmt = $db->query("SELECT * FROM tbl WHERE dt BETWEEN :start AND :end");
$stmt->bind(":start", $start->getTimestamp;
$stmt->bind(":end", $end->add(new DatePeriod("P1D"->getTimestamp;

"Ой - что-то не работает, поправлю-ка я так":
 
 
$start = strtotime($day_string_Y_m_d); // и че было городить какие-то классы!

$stmt = $db->query("SELECT * FROM tbl WHERE dt BETWEEN $start AND " . ($start + 864000; // зачем нам бинды? заодно оптимизация скорости!

а потом мне ставят задачу, чтобы проитерировать по дням за период
я уже думаю:
 
 
$days = new DateInterval($start, new DatePeriod("P1D" $end);
foreach($days as $day) {...}

заглядываю в код и вижу там это говно от предыдущей правки
при этом предыдущий погромист забыл про таймзону, т.е. если что-то опять будут двигать, то все нахрен сломается, уже не говорю про читаемость кода и выразительность
пример реальный - хорошо хоть, я анально огородил свои проекты от чужих рук

inna1

Дык эта... исправить-то не проблема, даже с СВНом, но... просто БЕСИТ! :
Времени жалко : )
Насчёт сказки не понял, насчёт nil'а — ну, согласись, этим не ограничивается...

okis

Делайте код ревью же

jakal222

Насчет сказки: когда обрабатываешь свои ошибки - действительно, сказка.
Если в лог вывалится - будешь знать, что именно произошло.
А насчет nil'a - да, верно, не ограничивается. Но обычно именно он всему причиной

PooH

Делайте код ревью же
у нас в компании куча прогеров поувальнялось после перезда, поэтому было время, когда над 5 проектами работали 3 прогера (раньше 9 было) в такой каше следить за чужими коммитами как-то неуспеваешь
да и сейчас, формально я основной прогер на проекте, но по факту у меня нет полномочий тыкать других прогеров в их код носом (неформально решается лычным разговором)

Serab

а и сейчас, формально я основной прогер на проекте, но по факту у меня нет полномочий тыкать других прогеров в их код носом (неформально решается лычным разговором)
сделай, чтобы было, а то задалбывает объяснять каждый раз одно и то же или тем более самому править.

apl13

Больше бесит, когда час или два ищешь баг и понимаешь что дело всего лишь в php
Оставить комментарий
Имя или ник:
Комментарий: