Про бритву Оккама хоть раз слышал каждый: во многих статьях и книгах встречается призыв не множить сущности без необходимости. Но не все знают, что в науке есть и другие «бритвы», которые помогают избавиться от лишнего. Термин «бритва» используется для обозначения метода, который помогает отбрасывать что-то ненужное, маловероятное, неправдоподобное. Принцип «бритвы» или «лезвия» — это на удивление универсальный инструмент, который помогает не только в процессе научного познания, но и в работе, и в повседневной жизни. В этой статье я перечислю несколько известных «именных» бритв (про Оккама тоже не забуду) и покажу, как их можно использовать в работе IT-специалиста. Заодно я сформулирую несколько правил, которые сам стараюсь соблюдать при применении этих самых «бритв», чтобы ненароком не ошибиться и не получить результат, противоположный ожидаемому. Автор: журналист и писатель Кристофер Хитченс, 2003. Бремя доказательства истинности утверждения лежит на том, кто заявляет его истинность. Исходная формулировка: «Что можно утверждать без доказательств, то можно отвергнуть без доказательств». What can be asserted without evidence can also be dismissed without evidence. Аналог: латинская пословица «Quod gratis asseritur, gratis negatur» — «Что свободно утверждается, то свободно отбрасывается» Варианты утверждений: Этот вариант реализации процедуры не соответствует техническому заданию. Дизайн страницы не соответствует договорённостям. Давайте поиграем шрифтами. Я считаю, что старый вариант интерфейса был удобнее, чем новый. Варианты ответов: Уточните, на какой странице технического задания это написано. Прошу привести аргументы, которые показывают, что ваш вариант лучше. Покажите результаты A/B-тестов. Правила использования бритвы Хитченса: Помните, что бритва Хитченса действует в обе стороны. Остерегайтесь противопоставлять бездоказательным утверждениям свои бездоказательные утверждения. Например, в техническом задании явно указан третий вариант реализации, который не совпадает с реализованным вариантом и вариантом вашего оппонента. Если оппонент смог привести веские доказательства, вам придётся уступить. Такое тоже бывает. Автор: Роберт Хайнлайн, рассказ «Логика империи», 1941. При поисках причин отрицательного события в первую очередь предполагается человеческая ошибка, и лишь во вторую — чьи-то сознательные злонамеренные действия. Исходная формулировка: «Вы пытаетесь объяснить злонамеренностью то, что является результатом обычной глупости» You have attributed conditions to villainy that simply result from stupidity. Общепринятая формулировка: «Никогда не приписывай злонамеренности то, что вполне объясняется глупостью; но не исключай злонамеренности». Аналоги: «Никогда не приписывайте злому умыслу то, что вполне можно объяснить глупостью» (Роберт Дж. Хэнлон, эпиграф к изданию законов Мерфи, 1980). «Никогда не приписывай злонамеренности то, что вполне объясняется некомпетентностью» (Наполеон Бонапарт). «Облажались, а не заговор» (Бернард Ингам). «Миром правит не тайная ложа, а явная лажа» (Виктор Пелевин). Варианты утверждений: Администратор специально поломал базу данных перед увольнением. Этот разработчик намеренно пишет запутанный и нелогичный код, чтобы никто, кроме него, в этом не разобрался (это же утверждение можно сформулировать в других, более эмоциональных выражениях). «Ураа, я возвращаюсь, я портфель забыл» — «Ааа, это вы специально придумали». Варианты ответов: Администратор поломал базу данных, потому что он думает о своих проблемах, а не о работе. Разработчик пишет запутанный и нелогичный код, потому что он просто плохой программист. Герой кинокомедии забыл портфель, потому что у него похмелье и он крайне рассеян. А ведь у него там ценный веник. Правила использования бритвы Хайнлайна Всегда есть небольшая вероятность того, что присутствовали сознательные злонамеренные действия. Причина не обязательно в глупости. Нужно также рассмотреть забывчивость, рассеянность, неосведомлённость, неквалифицированность, профнепригодность и прочие «-ности». Все делают ошибки, даже крутые профессионалы. Автор: философ и монах Уильям Оккам, XIV век. Если существует несколько логически непротиворечивых объяснений какого-либо явления, объясняющих его одинаково хорошо, то следует, при прочих равных условиях, предпочитать самое простое из них. Исходные формулировки: «Что может быть сделано на основе меньшего числа предположений, не следует делать, исходя из большего» и «Многообразие не следует предполагать без необходимости». It is pointless to do with more what can be done with fewer.Plurality must never be posited without necessity. Аналог: «Всё следует упрощать до тех пор, пока это возможно, но не более того» (Альберт Эйнштейн). Варианты утверждений: Этот код не может не компилироваться. Наверное, ошибка в компиляторе. Я ничего не делал, оно всё само куда-то ушло. Подрядчик не успел сдать объект в срок, потому что помешали «коридоры затмений» и ретроградный Меркурий. Варианты ответов: Если программа не компилируется, то в ней есть ошибка. Ничего не делал, говоришь? А если мы посмотрим логи? Подрядчик не успел сдать объект в срок из-за банальных лени, неорганизованности и раздолбайства. Правила использования бритвы Оккама Бритва Оккама предполагает выбор самого простого решения. Для этого нужно чётко понимать, по каким критериям и каким показателям оценивается простота и ранжируются решения. Эти критерии и показатели могут быть разными. «У кого бритва — тот и Оккам!» (Василий Щепетнёв). Иногда решение искусно объявляется простейшим, хотя по факту таковым не является. При любом сомнительном результате нужно проводить собственное исследование. Автор: австралийский математик Майк Алдер, 2004. Язык больше, чем Вселенная. Можно в одном предложении сказать о тех вещах, которые невозможно обнаружить в реальном мире. Известна также под названием «Пылающий лазерный меч Ньютона». Алдер утверждает, что этот меч «острее и опаснее, чем бритва Оккама». Краткая формулировка: «То, что нельзя подтвердить экспериментом, не стоит обсуждать». We should not dispute propositions unless they can be shown by precise logic and/or mathematics to have observable consequences. Варианты утверждений: Да тут нечему ломаться, выкатываем сразу в прод. Это мощный сервер, он выдержит нагрузку. Раз так написано в документации, значит так и должно работать. «Группа была введена по настоянию Романа и Эдика, которые заявили, что всем нутром чуют связь между странностями Януса и странностями попугаев». Варианты ответов: Единственный способ доказать отсутствие ошибок — провести эксперимент тестированием. Теоретическое предположение остаётся гипотезой, пока не будет проведено нагрузочное тестирование. Ошибка может быть и в коде, и в документации. «Они не смогли ответить на вопрос Корнеева, каков физический смысл понятий „нутро“ и „чуять“». Правила использования бритвы Алдера Эксперимент не подтверждает полностью гипотезу, а лишь повышает вероятность её истинности. Тестирование не доказывает стопроцентное отсутствие ошибок. В некоторых случаях эксперимент не так-то просто придумать. Обращение к авторитету или источникам не заменяет эксперимент. Микеланджело творил, отсекая от камня всё лишнее. Бритвы познания — удобный и подходящий инструмент для создания шедевров. Главное — в творческом запале не порезаться самому и не отсечь что-то нужное и ценное.  Техлид, технический писатель, программист