GDB_DBG Telegram 221
И вот: дипломы написаны, защиты пройдены, студенческие шапки подброшены в воздух. Плюс еще пара месяцев потрачена на окончательную продуктизацию диплома, полишинг и базовое локальное тестирование. Близится самое интересное и ответственное: момент ОГРОМНОГО коммита всех правок в транк. Вы, конечно, можете сейчас подушнить и сказать: "ты чего, нужно было по кускам коммитать!", но это и так уже были куски, так вот первый кусок был все еще огромным, как чертов авианосец.

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

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

И вот я иду домой (а в этот момент и начинается ночная сборка). Дома сижу и через remote desktop смотрю на то, как сборка продвигается на разных машинах. Пока что до исполнения дело не дошло, так что переживать рано, но я, конечно, все равно очень волнуюсь. В конце концов я засыпаю только для того, чтобы утром побежать на работу (даже не глядя на статус сборки), чтобы уже там оценить последствия. Сажусь за свою машину (пока что в офисе никого нет), кажется, у меня есть пара писем от работавшего ночью QA (святой человек был), медленно начинаю смотреть на статус сборки, и...

Следующий месяц своей жизни я помню смутно, он прошел, как в тумане.

В общем, я развалил нахрен приблизительно все. Вообще. При том спорадичными багами, которые умело избегали обнаружения на локальном тестировании. Уже ночью на меня завели пару ишуев, а весь наступивший день (да и пару следующих) на меня продолжали создавать все новые и новые critical и blocker. Потом, видимо, стали жалеть и просто дописывать новые тестовые сценарии в уже существующие тикеты.

Замечу, что это никак не аффектало клиентов, но вот другие разработчики просто не могли нормально тестировать свои правки: у них все падало из-за меня. Это безумно давило мне на психику, мало того, что у меня все разваливалось, так и другим людям я реально мешал работать.

Вы, наверное, скажете, что логичным шагом было бы откатить огромную правку и продолжить локальное тестирование (благо информацию о падающих сценариях я собрал). Но честь и хвала моему лиду, он решил тогда дать мне время на отладку. Первые, самые легко воспроизводимые баги я отладил за пару-тройку дней (в которые я, конечно, херачил часов по 18). После этого сборка чуть ожила, хотя в каком-то смысле все стало только страшнее: оставшиеся баги были уже не так просты, дать какой-то гарантии на время их отладки я не мог, workaround предложить тоже не мог, а если бы я откатил, то потерял бы сценарии для воспроизведения уже насовсем, слишком уж они спорадичны! Именно тогда я впервые встретился с багом, который воспроизводился раз в год (как я узнал еще через 11 месяцев).

В целом то я к тому времени уже что-то умел в отладке, но этот месяц что-то изменил во мне кардинально: я отлаживал столько таких злых спорадичных багов, я делал это настолько постоянно (на работе, дома, на парах в аспирантуре, в транспорте, когда шел за кофе, в редкие минуты, когда выбирался погулять воздухом), что в какой-то момент я с ними породнился что ли. Познал дзен, если можно так сказать в ситуации, когда на тебя косо смотрят все твои комрады, у которых опять что-то упало из-за тебя. Ну, и реально научился отлаживать.

Через месяц сборка окончательно (хе-хе, так нельзя говорить в случае спорадичных багов, это тоже урок, который я усвоил) позеленела, я выдохнул, команда тоже. ↓

#дух_машины
🔥17👍4



tgoop.com/gdb_dbg/221
Create:
Last Update:

И вот: дипломы написаны, защиты пройдены, студенческие шапки подброшены в воздух. Плюс еще пара месяцев потрачена на окончательную продуктизацию диплома, полишинг и базовое локальное тестирование. Близится самое интересное и ответственное: момент ОГРОМНОГО коммита всех правок в транк. Вы, конечно, можете сейчас подушнить и сказать: "ты чего, нужно было по кускам коммитать!", но это и так уже были куски, так вот первый кусок был все еще огромным, как чертов авианосец.

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

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

И вот я иду домой (а в этот момент и начинается ночная сборка). Дома сижу и через remote desktop смотрю на то, как сборка продвигается на разных машинах. Пока что до исполнения дело не дошло, так что переживать рано, но я, конечно, все равно очень волнуюсь. В конце концов я засыпаю только для того, чтобы утром побежать на работу (даже не глядя на статус сборки), чтобы уже там оценить последствия. Сажусь за свою машину (пока что в офисе никого нет), кажется, у меня есть пара писем от работавшего ночью QA (святой человек был), медленно начинаю смотреть на статус сборки, и...

Следующий месяц своей жизни я помню смутно, он прошел, как в тумане.

В общем, я развалил нахрен приблизительно все. Вообще. При том спорадичными багами, которые умело избегали обнаружения на локальном тестировании. Уже ночью на меня завели пару ишуев, а весь наступивший день (да и пару следующих) на меня продолжали создавать все новые и новые critical и blocker. Потом, видимо, стали жалеть и просто дописывать новые тестовые сценарии в уже существующие тикеты.

Замечу, что это никак не аффектало клиентов, но вот другие разработчики просто не могли нормально тестировать свои правки: у них все падало из-за меня. Это безумно давило мне на психику, мало того, что у меня все разваливалось, так и другим людям я реально мешал работать.

Вы, наверное, скажете, что логичным шагом было бы откатить огромную правку и продолжить локальное тестирование (благо информацию о падающих сценариях я собрал). Но честь и хвала моему лиду, он решил тогда дать мне время на отладку. Первые, самые легко воспроизводимые баги я отладил за пару-тройку дней (в которые я, конечно, херачил часов по 18). После этого сборка чуть ожила, хотя в каком-то смысле все стало только страшнее: оставшиеся баги были уже не так просты, дать какой-то гарантии на время их отладки я не мог, workaround предложить тоже не мог, а если бы я откатил, то потерял бы сценарии для воспроизведения уже насовсем, слишком уж они спорадичны! Именно тогда я впервые встретился с багом, который воспроизводился раз в год (как я узнал еще через 11 месяцев).

В целом то я к тому времени уже что-то умел в отладке, но этот месяц что-то изменил во мне кардинально: я отлаживал столько таких злых спорадичных багов, я делал это настолько постоянно (на работе, дома, на парах в аспирантуре, в транспорте, когда шел за кофе, в редкие минуты, когда выбирался погулять воздухом), что в какой-то момент я с ними породнился что ли. Познал дзен, если можно так сказать в ситуации, когда на тебя косо смотрят все твои комрады, у которых опять что-то упало из-за тебя. Ну, и реально научился отлаживать.

Через месяц сборка окончательно (хе-хе, так нельзя говорить в случае спорадичных багов, это тоже урок, который я усвоил) позеленела, я выдохнул, команда тоже. ↓

#дух_машины

BY Алло, это отладочная?


Share with your friend now:
tgoop.com/gdb_dbg/221

View MORE
Open in Telegram


Telegram News

Date: |

Telegram Android app: Open the chats list, click the menu icon and select “New Channel.” During the meeting with TSE Minister Edson Fachin, Perekopsky also mentioned the TSE channel on the platform as one of the firm's key success stories. Launched as part of the company's commitments to tackle the spread of fake news in Brazil, the verified channel has attracted more than 184,000 members in less than a month. The best encrypted messaging apps The visual aspect of channels is very critical. In fact, design is the first thing that a potential subscriber pays attention to, even though unconsciously. Clear
from us


Telegram Алло, это отладочная?
FROM American