Быстрые изменения, используемые для отправки в вибрации: запустить три примера, выглядеть лучше, объединить. Затем «небольшое улучшение формулировки» незаметно нарушило форматирование чисел в конвейере на четыре дня. Теперь подсказка — это код, а без тестов код не объединяется. Каждый...
Быстрые изменения, используемые для отправки в вибрации: запустить три примера, выглядеть лучше, объединить. Затем «небольшое улучшение формулировки» незаметно нарушило форматирование чисел в конвейере на четыре дня. Теперь подсказка — это код, а без тестов код не объединяется.
Золотой комплект вырастает из шрамов
Каждый конвейер несет помеченный набор пар входных/ожидаемых данных. Никто не сел писать это; число случаев увеличивалось, по одному на инцидент, каждый из которых проверял, насколько система когда-то поставила себя в неловкое положение. Наш крупнейший текстовый конвейер в настоящее время обрабатывает около 3900 случаев при каждом изменении с ожидаемым количеством ошибок, равным ровно нулю. Ноль не подлежит обсуждению. Пакет, который терпит несколько сбоев, — это пакет, который никто не читает.
Магистр права в роли судьи, в наручниках
В половине наших случаев нет единственного правильного ответа, поэтому их оценивает модель. Образцовый судья — это предвзятый свидетель, и мы относимся к нему как к таковому:
Правила вердикта:
- Сравнивайте A и B только по указанным критериям. Не поощряйте длину.
- TIE – вердикт действительный. Предпочитайте TIE подбрасыванию монеты.
- Выведите ровно одну строку: WINNER: A | Б | TIE, тут одна причина.
(Участник: каждая пара оценивается дважды, A и B меняются местами.
Записывается только вердикт, который выдерживает обмен. ~11% этого не делают.)
Предвзятость позиции реальна. Судьи отдают предпочтение f