Допустим, программа получает сообщение по сети и падает. Возможно, в пакете какая-то ошибка. Тем не менее, ни одна программа не должна падать ни при каком вводе.
У нас есть две ошибки:
1. Программа падает.
2. Ответная часть формирует неправильный вход.
И исправлять их надо именно в таком порядке. Можно исправить сначала входной пакет, но, во-первых, первая ошибка никуда не денется, а во-вторых — первую ошибку легче исправлять, когда есть возможность её легко воспроизвести. После исправления второй такой возможности уже не будет.
"Мы сейчас пакет исправим и программа падать больше не будет" — не будет. До следующего ошибочного пакета. Может показаться, что исправляя только вторую ошибку мы экономим время. Но на самом деле мы создаём "технический долг".
У нас есть две ошибки:
1. Программа падает.
2. Ответная часть формирует неправильный вход.
И исправлять их надо именно в таком порядке. Можно исправить сначала входной пакет, но, во-первых, первая ошибка никуда не денется, а во-вторых — первую ошибку легче исправлять, когда есть возможность её легко воспроизвести. После исправления второй такой возможности уже не будет.
"Мы сейчас пакет исправим и программа падать больше не будет" — не будет. До следующего ошибочного пакета. Может показаться, что исправляя только вторую ошибку мы экономим время. Но на самом деле мы создаём "технический долг".