Кошка, однажды севшая на горячую плиту
Wednesday, 31 August 2011 22:18(По идее
nasse).
Когда в важном продукте случается баг, вменяемая команда поддержки-разработки поступает по стандартной схеме:
1. Находит и исправляет баг. Как правило, при этом в коде появляются дополнительные проверки и подстраховки.
2. Чинит последствия в данных у клиентов.
3. Добавляет в тестовые батареи пачку тестов, проверяющих отсутствие этого бага. Чтобы уж больше никогда.
Когда в жизни человека случается пиздец (а время от времени он случается с каждым из нас), человек напрягает все силы и срочно находит выход. Это называется острой ситуацией высокой интенсивности. Ну, вот так уж назвали.
Тех, кто выход не нашли, пока отложимна кладбище. В этом посте они нам не интересны. Что происходит с уцелевшими?
Уцелевшие запоминают ценный опыт. "Пришёл вот такой пиздец - я его вот так - пиздец ушёл". На уровне рефлексов. Если опасность была яркой и нешуточной, то с первого раза. Если послабее, то надо подолбить человека многократно - недели, месяцы, годы... Но удачный паттерн выживания так или иначе становится рефлекторным. Теперь он называется хронической ситуацией низкой интенсивности.
Теперь ветеран войны будет падать на асфальт при звуке любого вертолёта в небе, жертва хулиганского нападения - отскакивать к стене, когда следом в подъезд заходит любой сосед, здоровый мужик - бледнеть и трястись, когда рядом визгливо заругается любая располневшая тётка... Рефлексу не важно, что это не настоящий пиздец. Шаблон признаков совпал - сработало привычное действие - пиздец не случился. Отлично, рефлекс подкреплён и живёт дальше.
Вернёмся к команде разработчиков и важной программе. Баг пришёл, его победили, он ушёл и больше не случится. Зато программа теперь немножко располнела на объём дополнительных проверок, стала немножко тормознее и немножко сложнее для дальнейших исправлений. А команда теперь тратит дополнительное время на прогон страховочных тестов. Когда-нибудь эти патчи накопятся и программу задушат.
И что, новые баги и пиздецы больше не случатся? Да случатся, конечно. Они же новые. Старые шаблоны против них не годятся... Старые - только от того, что уже почти наверняка не повторится.
Когда в важном продукте случается баг, вменяемая команда поддержки-разработки поступает по стандартной схеме:
1. Находит и исправляет баг. Как правило, при этом в коде появляются дополнительные проверки и подстраховки.
2. Чинит последствия в данных у клиентов.
3. Добавляет в тестовые батареи пачку тестов, проверяющих отсутствие этого бага. Чтобы уж больше никогда.
Когда в жизни человека случается пиздец (а время от времени он случается с каждым из нас), человек напрягает все силы и срочно находит выход. Это называется острой ситуацией высокой интенсивности. Ну, вот так уж назвали.
Тех, кто выход не нашли, пока отложим
Уцелевшие запоминают ценный опыт. "Пришёл вот такой пиздец - я его вот так - пиздец ушёл". На уровне рефлексов. Если опасность была яркой и нешуточной, то с первого раза. Если послабее, то надо подолбить человека многократно - недели, месяцы, годы... Но удачный паттерн выживания так или иначе становится рефлекторным. Теперь он называется хронической ситуацией низкой интенсивности.
Теперь ветеран войны будет падать на асфальт при звуке любого вертолёта в небе, жертва хулиганского нападения - отскакивать к стене, когда следом в подъезд заходит любой сосед, здоровый мужик - бледнеть и трястись, когда рядом визгливо заругается любая располневшая тётка... Рефлексу не важно, что это не настоящий пиздец. Шаблон признаков совпал - сработало привычное действие - пиздец не случился. Отлично, рефлекс подкреплён и живёт дальше.
Вернёмся к команде разработчиков и важной программе. Баг пришёл, его победили, он ушёл и больше не случится. Зато программа теперь немножко располнела на объём дополнительных проверок, стала немножко тормознее и немножко сложнее для дальнейших исправлений. А команда теперь тратит дополнительное время на прогон страховочных тестов. Когда-нибудь эти патчи накопятся и программу задушат.
И что, новые баги и пиздецы больше не случатся? Да случатся, конечно. Они же новые. Старые шаблоны против них не годятся... Старые - только от того, что уже почти наверняка не повторится.