Разное

Законы мерфи для программистов: Законы программирования / Хабр

Содержание

Законы программирования / Хабр

Законы, теории, принципы и закономерности, полезные для разработчиков

Введение

Перевод репозитория github.com/dwmkerr/hacker-laws

При обсуждениях, связанных с разработкой ПО, люди часто говорят о различных законах. В данном репозитории хранятся ссылки и описания некоторых из наиболее известных из них.

Здесь содержатся объяснения некоторых законов, принципов и закономерностей, но нет никакой агитации в их пользу. Применять их или нет – это всегда вопрос спорный, и всё зависит от того, над чем вы работаете.

Законы

Закон Амдала

Закон Амдала — это формула, демонстрирующая потенциал ускорения вычислительной задачи, которого можно достичь при увеличении количества ресурсов системы. Обычно он используется в параллельных вычислениях, и может предсказать наличие реальных преимуществ от увеличения количества процессоров с учётом ограничений параллелизуемости программы.

Приведём пример. Если программа состоит из двух частей – части А, которую необходимо исполнять на одном процессоре, и части Б, которую можно распараллелить, видно, что преимущества добавления нескольких процессоров к исполняющей программу системе ограничены. Потенциально это может сильно ускорить часть Б – но скорость части А не изменится.

На следующей диаграмме показаны примеры потенциального прироста скорости:

Как видно, даже если 50% программы можно распараллелить, преимущества от добавления более 10 отдельных процессоров будут незначительными. Если программу можно распараллелить на 95%, улучшения будут заметны даже после добавления тысячи процессоров.

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

Теория разбитых окон

Теория разбитых окон утверждает, что видимые признаки преступлений (или отсутствие заботы об окружающей среде) влечёт за собой увеличение количества и тяжести преступлений (и дальнейшее ухудшение окружающей среды).

Эту теорию применяли к разработке ПО, предполагая, что плохое качество кода (или т.н. «технический долг») может вызвать ощущение того, что все попытки улучшить качество будут проигнорированы или недооценены, что приведёт к появлению нового плохого кода. Этот эффект развивается каскадно, из-за чего качество со временем ухудшается.

Закон Брукса

Добавление дополнительного человеческого ресурса к опаздывающему проекту задерживает его выход ещё больше.

Закон Брукса говорит о том, что во многих случаях попытки ускорить выпуск проекта, который и так опаздывает, путём добавления к нему дополнительных людей, приводят к тому, что проект выпускают ещё позже, чем могли бы. Однако Брукс подчёркивает, что это чрезмерное упрощение проблемы. Рассуждает он следующим образом: учитывая затраты на время, необходимое на ввод в строй новых ресурсов, и на общение людей между собой, в краткосрочной перспективе скорость развития проекта падает. Также многие задачи могут не подлежать разделению, то есть, их не получается легко распределить между ресурсами, количество которых увеличили, поэтому потенциальное увеличение скорости оказывается не таким значительным.

Распространённая присказка «девять женщин не могут родить ребёнка за один месяц» относится к закону Брукса, в частности потому, что некоторые виды работ нельзя разделить или распараллелить.

Это главная тема книги «Мифический человеко-месяц».

Закон Конвея

Закон Конвея говорит о том, что технические ограничения проектируемой системы будут отражать структуру организации. Его часто вспоминают при попытке улучшить работу организации. Закон говорит, что если организация структурирована на множество мелких, не связанных между собой модулей, то и созданная ею программа будет такой же. Если организация будет построена вокруг вертикалей, опирающихся на определённые особенности или услуги, то и её ПО будет отражать этот факт.

Закон Каннингема

Лучший способ найти правильный ответ в интернете — не задать вопрос, а разместить заведомо неправильный ответ.

Стивен Макгиди говорит, что в начале 1980-х Уорд Каннингем дал ему совет: «Лучший способ найти правильный ответ в Интернете — не задать вопрос, а разместить заведомо неправильный ответ». Макгиди назвал это «законом Каннингема», хотя сам Каннингем отрицает его авторство и говорит, что его «неверно цитируют». Хотя изначально фраза относилась к общению в Usenet, с тех пор закон использовали для описания работы и других сообществ (Wikipedia, Reddit, Twitter, Facebook).

Число Данбара

Число Данбара — ограничение на количество постоянных социальных связей, которые человек может поддерживать. Имеются в виду связи, предполагающие знание отличительных черт конкретного индивида, связь с которым необходимо поддерживать, его характера, а также социального положения, и его связей с другими людьми.

Точное число таких связей неизвестно. Сам Данбар предполагал, что человек с комфортом может поддерживать не более 150 таких связей. Он описывал его в более социальном контексте: «Количество людей, к которым вы не постесняетесь присоединиться без приглашения, чтобы вместе выпить, если вы случайно столкнётесь с ними в баре». Обычно оценки такого числа разнятся от 100 до 250.

Как и стабильные взаимоотношения между людьми, поддержка взаимоотношения программиста с кодом требует затрат сил. Сталкиваясь с крупными и сложными проектами или с владением множества мелких, мы полагаемся на определённые соглашения, политики и модели процедур. Число Данбара важно учитывать не только при росте количества сотрудников, но и при определении масштабов работы команды или того момента, когда системе стоит обзавестись вспомогательными инструментами для моделирования и автоматизации логистики. В инженерном контексте, это число проектов (или нормализованная сложность одного проекта), для которого вы бы уверенно вошли в группу поддержки кода.

Закон Голла

Работающая сложная система обязательно произошла от работавшей простой системы. Сложная система, разработанная с нуля, никогда не работает, и её невозможно исправить так, чтобы она заработала. Нужно начать заново, с простой работающей системы.

Закон Голла говорит о том, что попытки разработать очень сложную систему наверняка провалятся. Системы высокой сложности редко создают за один присест – они эволюционируют из более простых.

Классический пример – всемирная сеть. В текущем состоянии это система высокой сложности. Однако изначально её определили как простой способ обмена контентом между институтами. Она очень успешно справилась с этими целями и эволюционировала, превратившись со временем в более сложную.

Закон Гудхарта

Любая наблюдаемая статистическая закономерность склонна разрушаться, как только на неё оказывается давление с целью управления ею.

Также часто формулируется как:

Когда мерило становится целью, оно перестаёт быть хорошим мерилом.

Мэрилин Стратерн

Закон утверждает, что оптимизация на основе определённых мер может привести к обесцениванию этих мер. Слишком избирательные измерения (KPI), вслепую применяемые к процессу, приводят к искажениям. Люди стремятся оптимизировать процесс локально, «обманывая» систему с тем, чтобы удовлетворить определённой метрике, вместо того, чтобы обращать внимание на глобальный результат их действий.

Примеры:

  • Тесты без утверждений удовлетворяют ожиданиям по покрытию кода, несмотря на то, что такая метрика создавалась для того, чтобы программа была хорошо проверена.
  • Оценка эффективности разработчика на основе количества строк, внесённых в проект, приводит к неоправданному раздуванию кода.

Бритва Хэнлона

Никогда не приписывай злонамеренности тому, что вполне объясняется тупостью.

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

Закон Хофстадера

На выполнение задачи всегда уходит больше времени, чем ожидаешь, даже если ты принял во внимание закон Хофстадера.

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

Цитата из книги «Гёдель, Эшер, Бах: эта бесконечная гирлянда».

Закон Хатбера

Улучшение эквивалентно разрушению.

Этот закон утверждает, что улучшение одной части системы ведёт к разрушению других частей, или прячет иные типы разрушения, что в целом приводит к деградации системы по сравнению с текущим её состоянием.

К примеру, уменьшение времени отклика в определённой части системы может привести к увеличению её пропускной способности, и, как следствие, к проблемам с ёмкостью где-то на пути потока запросов, что может повлиять на другую подсистему.

Цикл шумихи и закон Амара

Мы склонны переоценивать влияние технологии в краткосрочной перспективе и недооценивать его в долгосрочной.

Цикл шумихи – визуализация восторгов и развития технологии со временем, изначально построенная компанией Gartner. Лучше всего иллюстрируется графиком:

После появления технологии её популярность доходит до пика раздутых ожиданий, затем ныряет во впадину разочарования, поднимается по склону просветления и выходит на плато продуктивности

Вкратце цикл утверждает, что вокруг новой технологии и её потенциальных последствий обычно возникает фонтан восторгов. Команды часто быстро увлекаются этими технологиями и часто испытывают разочарование полученными результатами. Возможно, это происходит потому, что технология ещё недостаточно развита, или способы её применения ещё не продуманы. По прошествии определённого времени возможности технологии увеличиваются, и количество практических применений растёт, после чего команды, наконец, могут становиться продуктивными.

Закон Хирама

При достижении достаточного количества пользователей API уже неважно, какие его особенности вы обещали всем: для любой из возможных особенностей поведения вашей системы найдётся зависящий от неё пользователь.

Закон Хирама постулирует, что если у вашего API достаточно много пользователей, для любой из возможных особенностей поведения вашей системы (даже не описанной в публичном контракте) найдётся зависящий от него пользователь. Тривиальным примером могут быть нефункциональные особенности API, типа времени отклика. Более тонкий пример – потребители, полагающиеся на определение типа ошибки посредством применения к её описанию функции regex. Даже если в публичном контракте ничего не сказано по поводу содержания сообщения, и подразумевается, что пользователи должны использовать код ошибки, некоторые из них могут решить использовать сообщение, и изменение сообщения сломает API для этих пользователей.

Закон Кернигана

Отладка кода в два раза тяжелее, чем его написание. Поэтому, если вы пишете код на пределе умственных возможностей, вам, по определению, не хватит ума, чтобы его отлаживать.

Закон Кернигана назван в честь Брайана Кернигана и взят из книги, написанной им и Плогером: «Элементы стиля программирования».

Все знают, что отладка кода в два раза тяжелее, чем его написание. Поэтому если вы прилагаете все умственные усилия, когда пишете код, как вы собираетесь его отлаживать?

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

Закон Меткалфа

В теории сетей полезность сети растёт примерно как квадрат количества её пользователей.

Закон основывается на количестве возможных попарных связей внутри системы, и тесно связан с законом Рида. Одлыжко и другие утверждали, что законы Рида и Меткалфа преувеличивают ценность системы, не учитывая ограничения человеческих возможностей понимания сети; см. число Данбара.

Закон Мура

Количество транзисторов, размещаемых на кристалле интегральной схемы, удваивается примерно каждые 24 месяца.

Предсказание Мура, которое часто используют для демонстрации огромной скорости улучшения технологий производства полупроводников и чипов, оказалось удивительно точным, и работало с 1970-х по конец 2000-х. В последние годы тренд немного изменился, в частности, из-за физических ограничений миниатюризации компонентов. Однако прогресс распараллеливания и потенциально революционные изменения в полупроводниковой технологии и квантовых компьютеров могут означать, что закон Мура может и следующие несколько десятилетий оставаться верным.

Закон Мёрфи

Всё, что может пойти не так, пойдёт не так.

Закон Мёрфи, за авторством Эдварда А. Мерфи, постулирует, что всё, что может пойти не так, обязательно пойдёт не так.

Эту поговорку часто используют разработчики. Иногда неожиданные вещи происходят во время разработки, тестирования или даже в продакшене. Его можно связать с чаще употребляемым в Британии законом подлости [собственно, и в России он тоже известен / прим. перев.]:

Если что-то может пойти не так, это случится, причём в наихудший из возможных моментов.

Обычно эти «законы» используются в юмористическом смысле. Однако такие явления, как предвзятость подтверждения и систематическая ошибка отбора, могут привести к тому, что люди чрезмерно увлекаются этими законами (в большинстве случаев, когда всё работает, как надо, этого никто не замечает, а вот отказы заметнее и привлекают больше обсуждения).

Бритва Оккама

Не следует множить сущее без необходимости.

Бритва Оккама утверждает, что из нескольких возможных решений наиболее вероятным будет решение, содержащее наименьшее количество концепций и предположений. Это решение будет простейшим и будет решать только заданную проблему, не вводя случайных сложностей и возможных негативных последствий.

Закон Паркинсона

Работа заполняет время, отпущенное на неё.

В оригинальном контексте закон был основан на изучении бюрократизма. Пессимистически его можно применить к разработке ПО, предположив, что команда будет работать неэффективно, пока не начнёт приближаться срок сдачи проекта, а затем будет торопиться, чтобы сдать его в срок, из-за чего конкретная дата окончания оказывается довольно произвольной.

Если скомбинировать его с законом Хофстадера, получится ещё более пессимистичный взгляд: работа будет расширяться, пока не заполнит всё время, необходимое на её завершение, и всё равно займёт больше, чем ожидалось.

Эффект преждевременной оптимизации

Преждевременная оптимизация – корень всех зол.

В работе Дональда Кнута «Структурированное программирование с GoTo» он писал: «Программисты тратят огромное количество времени на размышления и волнения по поводу скорости выполнения некритичных частей программ, и попытки сделать их эффективнее оказывают сильный негативный эффект, если задуматься об их отладке и поддержке. Нам нужно забывать о малозначимой эффективности 97% времени: преждевременная оптимизация – корень всех зол. Однако в критических важных 3% случаев мы не должны упускать наши возможности».

Однако преждевременную оптимизацию также можно описать, как попытку оптимизировать что-то до того, как мы поймём, что нам нужно сделать.

Закон Патта

В технологическом секторе доминируют два типа людей: те, кто разбирается в том, что они не контролируют, и те, кто контролирует то, в чём они не разбираются.

За законом Патта часто следует заключение Патта:

В любой технической иерархии со временем вырабатывается инверсия компетентности.

Эти утверждения предполагают, что из-за различных критериев отбора и тенденций организации групп, на рабочих уровнях технической организации всегда будет находиться некоторое количество опытных людей, а на уровне менеджмента всегда будут люди, не имеющие понятия о сложностях и проблемах работы, которой они управляют.

Однако стоит подчеркнуть, что подобные законы являются очень грубым обобщением, и могут быть применимыми к одним типам организаций, и не применимыми к другим.

Закон Рида

Полезность крупных сетей, в особенности, социальных, масштабируется экспоненциально с ростом размера сети.

Этот закон основан на теории графов, где полезность масштабируется как число возможных подгрупп, растущее быстрее, чем количество участников или возможных попарных связей. Одлыжко и другие утверждали, что законы Рида и Меткалфа преувеличивают ценность системы, не учитывая ограничения человеческих возможностей понимания сети; см. число Данбара.

Закон сохранения сложности (Закон Теслера)

Закон утверждает, что у системы существует определённая сложность, уменьшить которую нельзя.

Часть сложности системы может возникнуть ненамеренно. Она является результатом плохой структуры, ошибок или неудачного моделирования решаемой задачи. Ненамеренную сложность можно уменьшить или устранить. Однако некоторые виды сложности являются неотъемлемым следствием сложностей самой задачи. Эту сложность можно переместить, но не устранить.

Один из интересных элементов этого закона – предположение о том, что даже при упрощении всей системы её внутренняя сложность не уменьшается, а переходит на пользователя, которому приходится сложнее себя вести.

Закон протекающих абстракций

Все нетривиальные абстракции до определенного предела подвержены протеканию.

Этот закон утверждает, что абстракции, которые обычно используются в IT для упрощения работы со сложными системами, в определённых ситуациях дают «протечку», пропуская наверх элементы лежащих в их основе систем, из-за чего абстракция начинает вести себя непредсказуемо.

Примером может служить загрузка файла и чтение его содержимого. API файловой системы – это абстракция систем ядра более низкого уровня, которые сами являются абстракцией физических процессов, связанных с изменением данных на магнитной пластине (или в флэш-памяти SSD). В большинстве случаев абстракция, представляющая файл в виде потока двоичных данных, будет работать. Однако последовательное чтение данных с магнитного диска будет идти быстрее, чем случайный доступ к ним, но при этом у SSD таких проблем не будет. Нужно понимать детали, лежащие в глубине, чтобы обрабатывать эти случаи (к примеру, индексные файлы баз данных структурируются, чтобы уменьшить время случайного доступа), когда абстракция даёт «протечку» деталей реализации, о которых нужно знать разработчику.

Приведённый пример может усложниться при добавлении новых абстракций. ОС Linux позволяет получать доступ к файлам по сети, однако они видны локально, как «обычные». Эта абстракция даст «протечку» в случае проблем с сетью. Если разработчик будет относиться к ним, как к «нормальным», не учитывая того, что они подвержены проблемам с задержками и отказам в сети, его решение будет неоптимальным и глючным.

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

Примеры: медленный запуск Photoshop. С этой проблемой я столкнулся в прошлом. Photoshop очень медленно запускался, иногда на это уходило несколько минут. Судя по всему, проблема была в том, что при запуске он считывает информацию о текущем принтере по умолчанию. Но если этот принтер был сетевым, на это могло уйти чрезвычайно много времени. Абстракция, согласно которой сетевой принтер аналогичен локальному, причиняла пользователем проблемы в случае плохой связи.

Закон тривиальности

Закон утверждает, что группы тратят гораздо больше времени и внимания на обсуждения косметических или тривиальных проблем, чем на серьёзные и обширные.

Обычно приводится в пример работа комитета, одобряющего планы ядерной электростанции, который большую часть времени обсуждает структуру велопарковки, чем более важные вопросы проекта самой станции. Бывает сложно внести ценный вклад в обсуждение очень больших и сложных тем, не имея за плечами объёмных знаний по этому вопросу. Однако людям хочется, чтобы их отмечали за внесение ценных замечаний. Отсюда происходит тенденция концентрации на небольших деталях, о которых легко рассуждать, но которые не обязательно важны для проекта в целом.

Вымышленный пример, приведённый выше, породил термин «эффект велосарая», описывающий потерю времени на обсуждение тривиальных деталей. Существует похожий термин «стрижка яков», описывающий, казалось бы, не связанную с проектом активность, являющуюся частью длинной цепи необходимых подготовительных этапов.

Философия Unix

Философия Unix состоит в том, что компоненты ПО должны быть небольшими и концентрироваться на том, чтобы хорошо выполнять одну конкретную задачу. Это облегчает процесс построения систем путём набора из небольших, простых и хорошо определённых модулей, вместо того, чтобы использовать крупные, сложные, многофункциональные программы.

Современные практики, вроде «архитектуры микросервисов», можно считать применением этой философии – сервисы мелкие, сконцентрированы на выполнении одной конкретной задачи, что позволяет составлять сложное поведение из простых строительных блоков.

Модель Spotify

Подход к структуре команды и организации, который продвигает Spotify. По этой модели команды организуются вокруг функций программ, а не вокруг технологий.

Также модель продвигает концепции племён, гильдий, филиалов – других компонентов организационной структуры.

Закон Уодлера

В проектировании любого языка общее время, потраченное на обсуждение особенности из этого списка, пропорционально двойке в степени номера позиции этой особенности в списке.
0. Семантика.
1. Синтаксис.
2. Лексический синтаксис.
3. Лексический синтаксис комментариев.

То есть, на каждый час, потраченный на семантику, приходится 8 часов, потраченных на синтаксис комментариев.

Как и закон тривиальности, закон Уодлера постулирует, что при проектировании языка количество времени, потраченное на структуры языка, непропорционально велико по сравнению с важностью этих структур.

Закон Уитона

Не будь козлом.

Этот сжатый, простой и всеобъемлющий закон, сформулированный Уилом Уитаном, направлен на увеличение гармонии и уважения в рамках профессиональной организации. Его можно применять в разговорах с коллегами, при проведении экспертной оценки кода, поиске возражений против других точек зрения, в критике, и в целом, в профессиональном общении людей.

Принципы

Принципы чаще всего связаны с советами по проектированию программ.

Принцип Дилберта

В компаниях существует тенденция к повышению некомпетентных сотрудников до менеджеров с целью устранить их от рабочего процесса.

Управленческая концепция, разработанная Скоттом Адамсом (создателем комиксов про Дилберта), вдохновлённая принципом Питера. Согласно принципу Дилберта, сотрудников, которых нельзя было считать компетентными, повышают до управленцев, чтобы ограничить возможный урон компании. Впервые Адамс объяснил этот принцип в статье для Wall Street Journal в 1995 году, а потом подробно описал его в книге 1996 года «Принцип Дилберта».

Принцип Парето (правило 80/20)

По большей части в жизни всё распределяется неравномерно.

Принцип Парето утверждает, что в некоторых случаях за большую часть результатов отвечает меньшая часть вложений:

  • 80% программы можно написать за 20% времени (и на самые сложные 20% уходят остальные 80% времени).
  • 20% усилий дают 80% результата.
  • 20% работы создают 80% прибыли.
  • 20% ошибок приводят к 80% падений программы.
  • 20% функций используется 80% времени.

В 1940-х американский инженер румынского происхождения Джозеф Джуран, которого часто называют отцом управления качеством, начал применять принцип Парето к проблемам качества.

Также этот принцип известен, как правило 80/20, закон важнейшего малого, принцип дефицита факторов.

Примеры: в 2002 году Microsoft сообщила, что после исправления 20% наиболее часто встречающихся ошибок, будет исправлено 80% связанных с ними проблем и падений Windows и Office.

Принцип Питера

В иерархической системе у каждого индивидуума есть тенденция подниматься до уровня своей некомпетентности.

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

Этот принцип особенно интересен инженерам, которые начинают работу с чисто технических ролей, но часто строят карьеру, ведущую к управлению другими инженерами – для чего требуется совершенно другой набор умений.

Принцип надёжности (закон Постела)

Консервативно относитесь к своей деятельности, и либерально ко вкладам других.

Этот принцип часто применяют к разработке серверных приложений. Согласно ему, данные, отправляемые вами другим, должны быть как можно меньшего размера и как можно лучше соответствовать стандарту, однако вы сами должны принимать на вход и не совсем стандартизированные данные, если у вас получится их обработать.

Цель принципа – создание надёжных систем, способных переварить плохо оформленные данные, смысл которых всё же можно понять. Однако у приёма нестандартных данных на вход могут быть последствия, связанные с нарушением безопасности, в особенности, если приём таких данных не было хорошо протестирован.

Со временем практика приёма нестандартных данных может привести к тому, что протоколы перестанут развиваться, поскольку те, кто реализуют обмен данными, начнут полагаться на либеральность программ, создавая новые функции.

SOLID

Акроним, обозначающий следующие 5 принципов:

S: The Single Responsibility Principle [Принцип единственной ответственности]

O: The Open/Closed Principle [Принцип открытости/закрытости]

L: The Liskov Substitution Principle [Принцип подстановки Барбары Лисков]

I: The Interface Segregation Principle [Принцип разделения интерфейса]

D: The Dependency Inversion Principle [Принцип инверсии зависимостей]

Они представляют собой ключевые принципы объектно-ориентированного программирования. Подобные принципы проектирования должны помогать разработчикам создавать системы, которые легче поддерживать.

Принцип единственной ответственности

Каждый объект должен иметь одну ответственность и эта ответственность должна быть полностью инкапсулирована в класс.

Первый из принципов SOLID. Принцип утверждает, что каждый модуль или класс должен делать только одну вещь. На практике это значит, что небольшое единственное изменение функции программы должно потребовать изменения только в одном компоненте. К примеру, для изменения процедуры проверки пароля на сложность программу нужно исправить всего в одном месте.

Теоретически это придаёт коду надёжности и упрощает его изменение. То, что у изменяемого компонента имеется единственная ответственность, должно означать, что будет проще тестировать это изменение. Изменение компонента проверки пароля на сложность из предыдущего примера должно повлиять только на функции, связанные со сложностью пароля. Гораздо труднее рассуждать о том, на что повлияет изменение компонента со множеством ответственностей.

Принцип открытости/закрытости

Программные сущности должны быть открыты для расширения, но закрыты для изменения.

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

Гипотетический пример: представим себе модуль, способный превратить документ в разметке Markdown в документ в разметке HTML. Если модуль можно расширить так, чтобы он научился обрабатывать новые возможности формата Markdown, не изменяя его внутренних функций, тогда модуль открыт для расширения. Если в модуле нельзя изменить обработку текущих функций Markdown, тогда модуль закрыт для изменения.

Принцип особенно тесно связан с объектно-ориентированным программированием, где можно проектировать объекты простые для расширения, но не стоит проектировать объекты, внутренности которых будут неожиданным образом меняться.

Принцип подстановки Барбары Лисков

Должна быть возможность заменить тип на подтип, не ломая систему.

Третий из принципов SOLID. Принцип утверждает, что если компонент зависит от типа, тогда должна быть возможность использовать подтипы этого типа так, чтобы система не отказалась работать или не требовала подробностей этого подтипа.

К примеру, у нас есть метод, читающий XML-документ из структуры, обозначающей файл. Если метод использует базовый тип file, тогда в функции должна быть возможность использовать всё, что происходит от файла. Если file поддерживает обратный поиск, и XML-парсер использует эту функцию, но производный тип «сетевой файл» отказывается работать с обратным поиском, то «сетевой файл» нарушает этот принцип.

Принцип особенно тесно связан с объектно-ориентированным программированием, где иерархии типов нужно очень тщательно моделировать, чтобы избежать путаницы для пользователя системы.

Принцип разделения интерфейса

Программные сущности не должны зависеть от методов, которые они не используют.

Четвёртый из принципов SOLID. Принцип утверждает, потребители компонента не должны зависеть от функций компонента, которые он не использует.

К примеру, у нас есть метод, читающий XML-документ из структуры, обозначающей файл. Ему нужно только считывать байты, двигаясь вперёд или назад по файлу. Если этот метод придётся обновлять из-за изменений не связанной с ним особенности файловой структуры (к примеру, из-за обновления модели разграничения доступа, представляющей безопасность файла), тогда этот принцип будет нарушен. Файлу лучше реализовать интерфейс «потока с возможностью поиска», а XML-методу – его использовать.

Принцип особенно тесно связан с объектно-ориентированным программированием, где интерфейсы, иерархии и абстрактные типы используются для минимизации связей между компонентами. Этот принцип заставляет использовать «утиная типизация», методология, устраняющая явные интерфейсы.

Принцип инверсии зависимостей

Модули верхних уровней не должны зависеть от модулей нижних уровней.

Пятый из принципов SOLID. Принцип утверждает, что управляющие компоненты высших уровней не должны знать деталей реализации их зависимостей.

К примеру, у нас есть программа, читающая метаданные с веб-сайта. Предположительно, её главному компоненту должен быть известен компонент, скачивающий контент веб-страницы, и компонент, считывающий метаданные. Если мы учтём принцип инверсии зависимостей, то главный компонент будет зависеть только от абстрактного компонента, получающего байтовые данные, а он в свою очередь от абстрактного компонента, способного читать метаданные из потока байтов. Главный компонент ничего не будет знать про TCP/IP, HTTP, HTML и т.п.

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

Принцип «не повторяйся» [Don’t repeat yourself]

Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках системы.

Принцип Don’t repeat yourself, или DRY, помогает разработчикам уменьшить повторяемость кода и держать информацию в одном месте. Он был упомянут в 1999 году Энди Хантом и Дэйвом Томасом в их книге «Прагматичный программист».

Противоположностью принципа DRY [англ. сухой] должен быть принцип WET [англ. мокрый] – «пишите всё дважды» [Write Everything Twice] или «нам нравится печатать» [We Enjoy Typing].

На практике, если одна и та же информация дублируется у вас в двух или более местах, используйте принцип DRY, сливая их в одно место и повторно используя по необходимости.

Принцип KISS

Keep it simple, stupid [Не усложняй, дурик]

Принцип KISS говорит, что большинство систем работают лучше, если их не усложнять; следовательно, простота должна быть ключевой целью в разработке, а ненужной сложности нужно избегать. Зародился он в военно-морском флоте США в 1960, и фразу приписывают авиаконструктору Кларенсу Джонсону.

Лучше всего представить его на примере, когда Джонсон выдал команде инженеров-проектировщиков небольшой набор инструментов, и поручил им разработать самолёт так, чтобы его в поле в боевых условиях мог починить средний механик при помощи только этого набора. Здесь stupid обозначает взаимоотношение между тем, как ломаются вещи, и сложностью доступных инструментов для их ремонта, а не умственные способности инженеров.

YAGNI

Акроним для You Ain’t Gonna Need It [вам это не понадобится].

Всегда реализуйте функции только тогда, когда они вам реально нужны, а не тогда, когда вам кажется, что они вам понадобятся в будущем.

Автор техники экстремального программирования (XP) и книги «Установленное экстремальное программирование» Рон Джеффрис предполагает, что разработчики должны заниматься реализацией только такой функциональности, которая нужна прямо сейчас, и не пытаться предсказывать будущее, реализуя функциональность, которая может понадобиться позже.

Следование этому принципу должно уменьшить количество неиспользуемого кода в базе, а также траты сил и времени на функциональность, не приносящую пользы.

Заблуждения распределённых вычислений

Также известны, как заблуждения сетевых вычислений. Это список предположений, касающихся распределённых вычислений, способных привести к отказам в работе ПО. Это следующие предположения:

  1. Сеть надёжна.
  2. Задержка нулевая.
  3. Пропускная способность бесконечна.
  4. Сеть безопасна.
  5. Топология не меняется.
  6. Администратор только один.
  7. Стоимость пересылки нулевая.
  8. Сеть однородна.

Первые четыре перечислили Билл Джой и Том Лион в 1991 году, а Джеймс Гослинг впервые классифицировал их как «Заблуждения сетевых вычислений». Питер Дойч добавил 5, 6 и 7-е заблуждение. В конце 90-х Гослинг добавил 8-е.

Группу инженеров вдохновляли процессы, происходившие в то время в Sun Microsystems.

Эти заблуждения стоит тщательно учитывать при разработке надёжного кода. Каждое из заблуждений может привести к неправильной логике, не способной справиться с реальностью и сложностью распределённых систем.

Законы Мерфи в IT / Хабр

Не так давно мне довелось беседовать с разработчиком, не понимавшим, почему полностью резервированная связь между ЦОДами не может гарантировать 100% доступность сервиса.

У клиента была идиллия: L3 связь между площадками с двумя маршрутизаторами ядра на каждой, с двумя каналами от разных операторов, предположительно выходящими из здания в разных точках и далее нигде не пересекающимися. И, несмотря на это, мы говорим разработчикам, что нельзя разносить компоненты критических приложений по разным локациям. Поразительно, правда?

Ну что может пойти не так при полностью резервированном дизайне?

Каждый задействованный вами компонент имеет отличную от нуля вероятность отказа. Следовательно, вероятность отказа нескольких компонентов разом тоже существует. Но если каждый компонент в достаточной мере надежен (скажем, доступность – 99,9%), значит, вероятность одновременного отказа крайне низка, верно? Неверно. Связанные друг с другом узлы имеют свойство падать одновременно.

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

Был случай: в роутерах Cisco обнаружился баг, проявляющийся при обработке исключительно длинных AS Path. Тогда многие впервые поняли важность команды “bgp maxas-limit”. «Виновниками» были маршрутизаторы Mikrotik. Синтаксис их конфигурации очень похож на таковой у IOS маршрутизаторов, вот только там надо вводить не сам AS Path, а количество раз, которое локальная AS должна повторяться, чего некоторые администраторы не знали, ведь зачем читать документацию? Маршрутизаторы не выполняли проверку корректности введенных данных, и в результате принималось число в младших 8-и битах локальной AS. У кого-то это число было довольно высоким.

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

Разработчик все еще не верил мне, так что я рассказал ему еще одну историю.

Некоторое время назад нас уведомили, что ЦОД будет отключен от внешнего энергоснабжения на пару часов в связи с профилактикой. Не проблема – есть ДГУ, есть емкие ИБП. Но когда питание отключили – дизель не завелся, и некому было его чинить посреди ночи. К счастью, оставалось достаточно времени, чтобы корректно остановить все системы, но через час наш ЦОД был мертв, несмотря на тройное резервирование.

На это разработчик ответил «теперь я понял». Затем было уже проще сойтись во мнении по поводу того, что нужно для обеспечения истинной катастрофоустойчивости их датацентров и сервисов.

Другие примеры из комментариев.

Вот вам еще одна история про отказоустойчивость. Все внешние каналы одной крупной площадки были сосредоточены в одном здании. Было предусмотрено полное резервирование. Два внутренних маршрутизатора, два внешних, два VPNа, дублированное энергоснабжение с ДГУ. Каналы DS3 терминировались каждый на своем внешнем роутере, использовали раздельные медиаконвертеры, и выходили из здания с разных сторон.

Оптика обходила здание и в конце концов сходилась на площадке провайдера. Там она была воткнута в два медиаконвертера, которые превращали ее обратно в DS3. Оба медиаконвертера лежали на полке, воткнутые в обычный домашний сетевой фильтр, в свою очередь подключенный в одну розетку.

Еще одна история с генератором. У одного ЦОДа обесточились вводы, и дизели завелись. Но кто-то оставил на одном из них кучу деревянных досок, и через час дизель воспламенился.

Еще про дизели, было это лет 12-13 назад. Я работал в крупном британском провайдере (не BT), и одним жарким днем (да, такое у нас бывает) я проводил кое-какие работы в одном из наших крупных ЦОДов. Я приехал рано, и застал доставку огромного контейнера. Когда я спросил, что это, мне сказали, что это – генератор, который даст немного лишней энергии – системы охлаждения работали на пределе, и питания не хватало. Я подумал «круто» и приступил к своей работе.

Позднее утром сработала пожарная тревога, и весь ЦОД обесточило, осталось работать только аварийное освещение. Я вышел наружу и понял, в чем дело: новый генератор установили вплотную к воздухозаборникам центральной системы вентиляции, и когда дизель завели, тот выплюнул огромное облако дыма, которое всосало в вентиляцию, на что среагировали датчики задымления внутри здания

Когда я приехал туда на следующий день, на выхлоп дизеля установили огромную трубу, которая отводила дым далеко в сторону от здания ЦОДа.

У той площадки было много отказоустойчивости, но в итоге ничто не помогло…

У нас в EDU все было резервировано. Но вот одно мы исправить не могли. Машинный зал находился прямо под туалетом художественного отдела. В общем, однажды нас натурально затопило говном. А вы знали, что можно заказать у Sun Microsystems выезд их бойцов для протирки оборудования СХД ватными тампонами со спиртом?

У одного из университетов моего города главный ЦОД расположен в подвале одного из их центральных корпусов. Они как раз завершили постройку соседнего здания, и им потребовалось проверить систему водоснабжения. На период испытаний они открыли слив снаружи корпуса, но забыли его закрыть на ночь. В конце концов вся вода стеклась ко входу в подвал. Весь подвал залило водой на 30 сантиметров.

Однажды клиент собирался переместить часть серверного оборудования в другое здание – чтобы освободить пространство и добавить немного отказоустойчивости. Связь заводилась по двум OC-3 от одного ОПМ, но зато по двум независимым трассам. У нас был детально проработан план переезда, предусмотрена каждая мелочь, и когда наступило время Ч – я заглушил порты, оборудование отключили и начали переносить в другое здание. Инженер был готов выдернуть оптику, провайдеру дали зеленый свет на перерезание теперь уже неиспользуемого канала. Разве что… Кто-то где-то когда-то давным-давно, когда схема еще только вводилась в эксплуатацию, перепутал местами идентификаторы каналов. Так что половина нашего ЦОДа была в процессе перевоза с места на место, а у второй половины перерезали единственный внешний канал связи. Не очень приятно.

Несколько лет назад (в районе 2005-2007гг) одна из крупных магистралей, соединяющая штат Queensland с остальной частью Австралии (да на тот момент и со всем миром), сломалась. Если я правильно помню последовательность событий, дело было так.

Магистраль шла двумя различными путями, один по побережью, другой через материк. Около 3-х часов ночи линейная карта, терминировавшая побережную оптику, начала сыпать ошибками, а потом совсем упала. Не проблема – весь трафик перемаршрутизировало через материк. Инженерам велели прибыть на место в 9 утра для замены платы… Но около 6 утра экскаватор перерубил шедшую через континент оптику.

Лет 10 назад (надеюсь, с тех пор разработчики железа поумнели) я потерял массив RAID5. На десять дисков. Началось все с того, что диск под номером «3» вылетел. Инженер идет к массиву, вынимает диск три – и массив падает. Оказалось, что управляющий интерфейс нумеровал диски с 0 по 9, а маркировка на передней панели – от 1 до 10, так что инженер вынул исправный диск.

Крупный логистический центр со всеми видами резервирования, ИБП (батареи и дизель) и все прочее. Однажды у всего квартала отключается энергоснабжение. Не беда – батареи перехватывают нагрузку, дизели заводятся, контора продолжает работать.

Питание восстанавливается. Квартал зажигается всеми огнями, контора обесточивается.

Как полагается по законам Мерфи, дизель корректно заглушили, но вот только реле, переключающее питание с дизеля на городские вводы, не сработало…

ЦОД, в котором я раньше работал, имел городские вводы электроснабжения и ИБП. ИБП брали с расчетом на 6 часов работы. В случае аварии предполагалось мигрировать виртуальные сервера на другую площадку. Не лучшее решение, но вроде сойдет.

Однажды наш ЦОД действительно потерял внешнее питание, и мы узнали, что кондиционеры не были подключены к ИБП. Машзалы мгновенно перегрелись, и через полчаса все системы начали отключаться.

В одной из стран третьего мира произошел еще один случай. При обесточивании здания дизели не завелись. Оказалось, что у них слили солярку.

Мы – клиенты крупного ЦОДа, все резервировано – питание от батарей, дизели, дублированная оптика с разными трассами – идиллия. Машинные залы расширяли, и бравые парни выломали пару стен, предварительно отгородив оборудование от пыли. Потом этим двум клоунам пришла в голову гениальная идея помыть пол в зале. К несчастью, они выбрали ведро с водой и тряпку как в старые добрые времена. Разумеется, один из них нечаянно перевернул ведро.

В комментариях пишите о своих авариях класса «вопреки резервированию».

Избранные законы Мерфи для программистов

1. Любая работающая программа уже устарела.
2. Любая программа обходится дороже и требует больше времени, чем казалось в начале.
3. Если программа полезна, ее обязательно переделывают.
4. Если программа бесполезна, ее тщательно документируют.
5. Любая программа в конце концов занимает всю доступную память.
6. Ценность программы обычно определяется весом выдаваемой ею распечатки.
7. Cложность программы обычно растет до тех пор, пока не превысит способности программиста, призванного ее поддерживать.
8. Если утилиты, испытанные при инсталяции, работают идеально, все остальные функции будут работать не верно.
9. Если входной редактор спроектирован так, чтобы исключить неверный ввод, найдется изобретательный идиот, который изыщет метод ввести разрушительную команду.
10. Невежество — единственный язык, которым владеют все программисты.
11. Увеличение численности программистов, работающих над проектом, увеличивает сроки его выполнения.
12. Небрежно спланированный проект требует в 3 раза больше времени, чем ожидалось, а тщательно спланированный — только в 2.
13. В программе всегда есть еще одна ошибка.
14. Невозможно создать программу с полной защитой от дураков, ибо дураки крайне изобретательны.
15. Если все идет хорошо, вас вскоре ждут серьезные осложнения.
16. Если дела идут хуже некуда, вскоре выяснится, что это не так.
17. Если кажется, что все в порядке, вы просто что-то просмотрели.
18. Тестовые операции и результаты их выполнения должны быть воспроизводимы — они все должны давать одинаковые отказы.
19. Вы всегда найдете еще одну ошибку, если еще раз загляните в свою программу.
20. Терминал работает лучше, если его включить в сеть.
21. Если все не работает, читайте документацию.
22. Если вам не понятно какое-то слово в технической документации, игнорируйте его, смысл от этого не пострадает.
23. Не важно, много ли вы работаете, вы все равно работаете недостаточно.
24. То, чего вы не делаете, всегда важнее того, что вы делаете.
25. Всегда оставляйте место для объяснения того, почему ваша программа работает не так как планировалось.
26. Не существует ничего невозможного для человека, который не собирается ничего делать сам.
27. Если бы строители сооружали здания также, как программисты пишут свои программы, первый же дятел разрушил бы человеческую цивилизацию.
28. Программисты действуют рационально, лишь тогда, когда другие способы исчерпаны

Поделиться с друзьями:

Понравилось это:

Нравится Загрузка…

Похожее

Закон Мерфи для программистов

На этой странице подборка законов подлости для программистов — людей в большинстве своём гениальных, творцов, которые, как иной раз кажется, даже думают бинарным кодом — «ноликами» и «единичками». Этот раздел так и называется — «Законы Мерфи для программистов»…


Акции, скидки и предложения

В этой секции ведущие ритейлеры парфюмерии представляют несколько акционных ароматов, способных подчеркнуть вашу индивидуальность и стать удачным дополнением к современному имиджу:



Если какой-либо из парфюмов покажется вам заслуживающим внимания, вы можете получить более подробную информацию о нём и его акционной цене, пройдя по соответствующей ссылке. Там же можно ознакомиться и с другими не менее интересными предложениями…


Принцип IBM:

Машина должна работать, а человек — думать.

Закон Грида:

Компьютерная программа выполняет то, что вы ей приказали делать, а не то, что бы вы хотели, чтобы она делала.

Закон Чарльза Портмана:

Когда кажется, что все уже работает, все объединено в систему — вам ещё осталось работы на четыре месяца.

Постулаты Трутмэна по программированию:

1. Самая грубая ошибка будет выявлена, лишь когда программа пробудет в производстве по крайней мере полгода.

2. Контрольные перфокарты, которые решительно не могут стоять в неправильном порядке, будут перепутаны.

3. Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобретательный идиот, который придумает способ, чтобы неправильная информация прошла через этот контроль.

4. Непечатный жаргон — это тот язык, которым решительно все программисты владеют в совершенстве.

Законы машинного программирования:

● Любая действующая программа устарела.

● Любая программа обходится дороже и требует больших затрат времени, чем предполагалось.

● Если программа полностью отлажена её нужно будет скорректировать.

● Любая программа стремится занять всю доступную память.

● Ценность программы прямо пропорциональна весу её «выдачи».

● Сложность программы растет до тех пор, пока не превысит способности программиста.

Руководство по системному программированию Штейнбаха:

Никогда не выявляйте в программе ошибки, если не знаете, что с ними дальше делать.

Дополнение Дейкстра:

Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения.

Закон компьютера применительно к Алу:

Машина должна считать, человек — принимать решения.

Закон ненадежности:

Ошибаться человеку свойственно, но окончательно все запутать может только компьютер.

Аксиома Кана:

Если ничто другое не помогает, прочтите, наконец, инструкцию.

Дополнение Марка Дэвисона:

Вы уже дошли до состояния, когда у вас нет времени, чтобы разрешить те проблемы, которые отнимают у вас все время?

Законы надежности Джилба:

Компьютеры ненадежны, но люди ещё ненадежнее. Любая система, зависящая от человеческой надежности, ненадежна. Число ошибок, которые нельзя обнаружить, бесконечно, в противовес числу ошибок, которые можно обнаружить — оно конечно по определению. В поиски повышения надежности будут вкладываться средства до тех пор, пока они не превысят величину убытков от неизбежных ошибок или пока кто-нибудь не потребует, чтобы была сделана хоть какая-то полезная работа.

Закон мира ЭВМ по Голубу:

Неточно спланированная программа требует в три раза больше времени, чем предполагалось; тщательно спланированная — только в два раза. Работающая над программой группа питает отвращение к еженедельной отчетности о достигнутых результатах, поскольку отчетность слишком явно свидетельствует об отсутствии результатов.

Компьютерная аксиома Лео Бейзера:

Закладывая что-то в ЭВМ, помните, куда вы это положили.

Вам могут понравиться

Вас может заинтересовать

Если в вашей коллекции есть другие законы Мерфи (законы подлости) для программистов и вы хотите ими поделиться — высылайте их на наш электронный адрес. В теме письма, пожалуйста, укажите «Законы Мерфи для программистов». После проверки присланный вами материал будет размещён на этой странице.

Как следствие из выше сказанного: информация для размещения на страницах сайта предоставляется пользователями, комментарии читателей к представленным материалам представляют собой их частное мнение, которое может не совпадать с точкой зрения редакции «ParfumClub.org». Здесь же вы можете увидеть ссылки на онлайн-магазины с предложениями купить ту или иную продукцию. Следует отметить, что сообщество «ParfumClub.org» является некоммерческим проектом, не контролирует эти торговые площадки, не имеет к ним никакого отношения и, соответственно, снимает с себя ответственность за какие-либо последствия, которые могут возникнуть в связи с использованием таких Интернет-ресурсов.

Законы Мерфи для программистов


  1. Любая работающая программа уже устарела.
  2. Любая программа обходится дороже и требует больше времени, чем казалось в начале.
  3. Если программа полезна, ее обязательно переделывают.
  4. Если программа бесполезна, ее тщательно документируют.
  5. Любая программа в конце концов занимает всю доступную память.
  6. Ценность программы обычно определяется весом выдаваемой ею распечатки.
  7. Cложность программы обычно растет до тех пор, пока не превысит способности программиста, призванного ее поддерживать.
  8. Если утилиты, испытанные при инсталяции, работают идеально, все остальные функции будут работать не верно.
  9. Если входной редактор спроектирован так, чтобы исключить неверный ввод, найдется изобретательный идиот, который изыщет метод ввести разрушительную команду.
  10. Невежество — единственный язык, которым владеют все программисты.
  11. Увеличение численности программистов, работающих над проектом, увеличивает сроки его выполнения.
  12. Небрежно спланированный проект требует в 3 раза больше времени, чем ожидалось, а тщательно спланированный — только в 2.
  13. В программе всегда есть еще одна ошибка.
  14. Невозможно создать программу с полной защитой от дураков, ибо дураки крайне изобретательны.
  15. Если все идет хорошо, вас вскоре ждут серьезные осложнения.
  16. Если дела идут хуже некуда, вскоре выяснится, что это не так.
  17. Если кажется, что все в порядке, вы просто что-то просмотрели.
  18. Тестовые операции и результаты их выполнения должны быть воспроизводимы — они все должны давать одинаковые отказы.
  19. Вы всегда найдете еще одну ошибку, если еще раз загляните в свою программу.
  20. Терминал работает лучше, если его включить в сеть.
  21. Если все не работает, читайте документацию.
  22. Если вам не понятно какое-то слово в технической документации, игнорируйте его, смысл от этого не пострадает.
  23. Не важно, много ли вы работаете, вы все равно работаете недостаточно.
  24. То, чего вы не делаете, всегда важнее того, что вы делаете.
  25. Всегда оставляйте место для объяснения того, почему ваша программа работает не так как планировалось.
  26. Не существует ничего невозможного для человека, который не собирается ничего делать сам.
  27. Если бы строители сооружали здания также, как программисты пишут свои программы, первый же дятел разрушил бы человеческую цивилизацию.
  28. Программисты действуют рационально, лишь тогда, когда другие способы исчерпаны.

Оставить комментарий

Законы Мерфи для информационной безопасности

Законы Мерфи для информационной безопасности

Мерфология — область человеческих знаний, которая не только забавна и интересна, но и которая реально отражает многие аспекты человеческой деятельности. Всего из одного
шутливо/правдивого закона Мерфи «если какая-нибудь неприятность может произойти, она
обязательно случается», родилось целое направление, которое позволяет понять многие
процессы в человеческом обществе.

Законы Мерфи для информационной безопасности
Мерфология — область человеческих знаний, которая не только забавна и интересна, но и которая
реально отражает многие аспекты человеческой деятельности. Всего из одного
шутливо/правдивого закона Мерфи «если какая-нибудь неприятность может произойти, она
обязательно случается», родилось целое направление, которое позволяет понять многие
процессы в человеческом обществе. Существуют различные направления мерфологии — военная,
медицинская, писательская, рекламная, бытовая и т.п. Но мне ни разу не приходилось видеть
законов Мерфи для информационной безопасности. Кроме давно опубликованной статьи
«Murphy’s law and computer security» (http://www.insecure.org/stf/wietse_murphy.html) автора сканера
безопасности SATAN Витса Венема, эта деятельность, которая становится все более и более
важной, не нашла отражение в мерфологии. И я решил исправить это упущение и попытался
собрать разрозненные наблюдения и замечания в одном документе. Какие-то из нижеприведенных
тезисов являются следствием уже известных законов Мерфи, какие-то наблюдения и аксиомы не
вошли в этот документ, т.к. полностью совпадают с законами из других направлений мерфологии.
Однако некоторые наблюдения достаточно интересны и присущи только информационной
безопасности. Что из этого получилось — решать вам.


PS. Предвидя очередные заявления «что за чушь», «какая ерунда», «бред сивой кобылы», «автор
погорячился», «продажа своих продуктов любой ценой» и т.п. ответственно заявляю этот
материал носит ЮМОРИСТИЧЕСКИЙ характер. Все вышеупомянутые высказывания взяты из
форума SecurityLab ( http://forum.securitylab.ru/forum_posts.asp?TID=5133), посвященного
обсуждению моей юмористической статьи «Почему сканер безопасности лучше чем
администратор» ().


Основные законы

  • Если вас можно атаковать, вас атакуют (следствие основного закона Мерфи).
  • Если 4 дыры устранены, то всегда найдется пятая.
  • Не заявляй о своей неуязвимости и невзламываемости — всегда найдется кто-то, кто докажет
    обратное.

    • Следствие — Если вы считаете свою сеть неуязвимой, то вы ошибаетесь.
  • Любая программа содержит дыры.
    • Следствие: даже системы защиты содержат дыры.
  • Обнаружить все дыры невозможно.
  • Если вы уверены, что написанная вами инструкция по правилам выбора паролей не может
    быть понята неправильно, всегда найдется сотрудник, который поймет ее именно так.


Наблюдения за пользователями

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


Законы построения системы обеспечения информационной безопасности

  • Система информационной безопасности никогда не строится в срок и в пределах сметы
    (следствие из закона Хеопса).
  • Как бы хорошо не была написана политика безопасности всегда найдется используемая у вас
    технология, которая не нашла в ней отражение.
  • Как только политика безопасности окончательно утверждена, она уже окончательно устарела.
  • Любые издержки на построение системы информационной безопасности больше, чем вы
    ожидаете (следствие пятого закона Фостера).


Наблюдения о руководстве

  • Руководство всегда озадачивается безопасностью своей компании только после того, как ее
    уже взломали.
  • Руководителем отдела защиты информации назначают либо отставного военного, либо
    бывшего милиционера, либо бывшего сотрудника 1-го отдела.
  • Человек, знающий как и куда правильно потратить деньги на информационную безопасность, и
    человек, их выделяющий — это всегда разные люди.

    • Исключение: исключений не бывает.


Наблюдения об атаках

  • Из всех атак произойдет именно та, ущерб от которой больше всего.
  • Если вас атаковали один раз, не ждите, что на этом все и кончится.
  • Атаки происходят тогда, когда администратор безопасности отсутствует на работе.
    • Следствие — Стоит вам отлучиться на 5 минут, как именно в этот момент ваш босс не
      сможет закачать себе новую MP3-композицию из-за настроек МСЭ.
  • Целью атаки будет именно тот сервер, падение которого нанесет наибольший ущерб
    (следствие закона избирательного тяготения).
  • Если атака все-таки нанесла вам ущерб всегда найдется администратор, который скажет «я так
    и нал» (следствие закона Эванса и Бьерна).
  • Если в вашей сети всего один непропатченный сервер, именно через него и начнется эпидемия
    очередного червя.
  • Эпидемия червя начинается именно тогда, когда вы забыли продлить подписку на
    антивирусные базы или базы сигнатур атак.
  • Если атака проходит незамеченной для администратора безопасности, значит вас ждет
    ловушка (основной закон для хакеров).
  • Именно тот незначительный скан, который вы проигнорируете, будет предвестником
    массированной атаки.
  • Об атаках всегда сообщается в прошедшем времени (следствие уотергейтского принципа).
  • Из всех атак произойдет именно та, от который вы забыли защититься.

Наблюдения о хакерах

  • Сотрудники отдела защиты информации приходят и уходят, а хакеры остаются (следствие
    девиза Джоунза)
  • Действия профессиональных хакеров можно предсказать, но Интернет полон любителей.

Наблюдения о консультантах по безопасности

  • Консультанты по безопасности — загадочные люди; сначала они выспрашивают все о вашей
    сети и ее безопасности, а потом приводят эту информацию в своем отчете, выдавая ее за
    титанический плод своих усилий (следствие второго закона Макдональда).
  • Приглашенные эксперты по безопасности всегда кажутся лучше своих собственных.
  • Если эксперт по безопасности знает, как называется атака, которой вы подверглись, это еще не
    значит, что он знает, как от нее защититься.
  • Каждый способен сказать, что в вашей сети есть дыра, но не каждый способен найти ее.
  • Виновным в неудачном внедрении системы защиты всегда оказывается внешний эксперт,
    приглашенный для консультаций.
  • Приглашенный эксперт, обвиненный в неудачном внедрении системы защиты, обвинит вас в
    непредоставлении всей необходимой информации (закон противоположного обвинения).
  • Стоимость услуг по обследованию корпоративной сети — величина, никак не зависящая от числа
    и квалификации экспертов, участвующих в обследовании.


Замечания по аутсорсингу

  • Передать свою безопасность на аутсорсинг — значит потерять контроль над сетью. Не передать
    – потерять контроль еще быстрее.
  • Доступность аутсорсинга еще не показатель, что им надо воспользоваться.

Наблюдения о средствах защиты

  • Расходы на средства защиты информации стремятся сравняться с доходами от их внедрения
    (следствие из второго закона Паркинсона).
  • Стоимость системы защиты информации всегда больше, чем вы запланировали (следствие
    пятого закона Фостера).
  • Установив систему защиты, не ждите благоприятных отзывов от сотрудников.
  • Ни одно средство защиты, введенное в эксплуатацию, не прошло тестирования.
  • Ни одно средство защиты, прошедшее тестирование, не готово к вводу в эксплуатацию (закон
    противоположности).
  • Чем больше функций в системе защиты, тем больше вероятность, что одна из них не работает
    так как надо.
  • Если вы не уверены, работает ли ваша системы защиты, значит она не работает.
  • Если ваша система защиты работает по расписанию, то вы обязательно забудете запустить ее
    в нужное время.
  • Система, защищающая от самых современных атак, будет неспособна защитить вас от давно
    устаревших.
  • Надежность системы защиты обратно пропорциональна числу и положению лиц, управляющих
    ею (следствие закона Уатсона).
  • Если вы хотите создать централизованную систему управления средствами защиты
    информации, окажется, что все ваши средства выпущены разными производителями и не
    интегрируются между собой.
  • Наличие сертификата соответствия на систему защиты еще не означает, что продукт
    соответствует классу защищенности, указанному в сертификате.

    • Следствие — Это также не значит, что продукт вообще работает.
      • Вывод — Это вообще ничего не значит.
  • Система защиты блокирует доступ вашего босса в Интернет именно в тот момент, когда он
    думает об увеличении вашей зарплаты.
  • Если вы приобрели большую партию электронных брелков или смарт-карт, то обязательно
    окажется, что более 50% ваших сотрудников являются женщинами, которым негде носить эти
    средства аутентификации (наблюдение Левашова).

Разные наблюдения

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

Об авторе:


Алексей Викторович Лукацкий, автор книг «Обнаружение атак», «Protect Your Information with
Intrusion Detection» и др. Автор курсов «Технология обнаружения атак» и «Выбор системы
обнаружения атак». Связаться с ним можно по e-mail: [email protected]


1 декабря 2003 г.

законы Мерфи для программистов и IT

На этой странице собраны постулаты теории ошибок, с большей частью которых сталкиваются в повседневной работе программисты, тестировщики и проект-менежеры. Этот раздел так и называется — «Теория ошибок»…


Акции, скидки и предложения

В этой секции ведущие ритейлеры парфюмерии представляют несколько акционных ароматов, способных подчеркнуть вашу индивидуальность и стать удачным дополнением к современному имиджу:



Если какой-либо из парфюмов покажется вам заслуживающим внимания, вы можете получить более подробную информацию о нём и его акционной цене, пройдя по соответствующей ссылке. Там же можно ознакомиться и с другими не менее интересными предложениями…


Теория ошибок:

Ошибки так же неисчерпаемы, как и атом.

Аксиома теории ошибок:

В любой программе есть ошибки.

Закон пропорциональности:

Чем более программа необходима, тем больше в ней ошибок.
Следствие:

Ошибок не содержит лишь совершенно ненужная программа.

Фундаментальный закон теории ошибок:

На ошибках учатся.

Следствия:

● Программист, написавший программу, становится ученым.

● Чем больше программист делает ошибок, тем быстрее он делается ученым.

● Крупный ученый-программист никогда не пишет правильные программы.
Замечание:

На то он и ученый.

Закон необходимости ошибок:

Программист может обнаружить ошибку только в чужой программе.
Следствие:

Ошибке не всё равно, кто её обнаружит.

Определение языка ошибок:

Будем называть языком ошибок правила, в обход которых пишутся программы.

Свойства программных ошибок:

● Ошибки могут следовать друг за другом.

● От перестановки двух эквивалентных ошибок результат не меняется.

● Две последовательные ошибки можно объединить в одну, более сильную.

● Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости из любого места программы.

● Ошибки могут образовывать циклы. Наиболее устойчивый из них — бесконечный.

● Ошибки могут вызывать друг друга и сами себя (рекурсивность ошибок).

● Ошибки допускают многократное вложение друг в друга. Две одинаковые вложенные ошибки называются четной ошибкой и ошибкой не являются.

Свойство чётности ошибок:

Если написанная программа сработала правильно, то это значит, что во время её работы выполнилось четное число ошибок или программист не понял задание.
Cвойства чётности ошибок для политиков:

Ошибка, повторенная дважды, перестаёт быть ошибкой.

Взаимодействие ошибок с базовой операционной системой:

● Во время исполнения ошибки имеют наивысший приоритет.

● Прервать исполнение ошибки может только другая, более активная ошибка.

● Запросы операционной системы к ошибкам ошибками могут игнорироваться.

● Запросы ошибок к операционной системе игнорироваться не могут.

● При работе с файлами ошибки могут пользоваться файловой системой базовой ОС и её ошибками.

● На вычислительной машине с параллельной архитектурой может выполняться несколько ошибок одновременно.

● Системные программы облегчают процесс написания прикладных программ и их ошибок.

Первое правило успешного старта проекта:

До начала работы над проектом следует тщательно продумать все необходимые ошибки и связи между ними. Это значительно упростит работу над ошибками в самом проекте.

Определение тестирования:

Тестирование — это процесс нахождения ошибок в тесте.

Признак хорошего тестового скрипта:

Хороший тест должен содержать ошибки, компенсирующие их нехватку в тестируемой программе.

Главное свойство языкового редактора:

Языковый редактор, призванный уберечь программиста от синтаксических ошибок, позволяет вносить в программу весьма хитроумные ошибки, которые не удаётся обнаружить ни транслятором, ни отладчиком. Обычный текстовый редактор таких возможностей не предоставляет.

Парадокс транслятора:

Программа-транслятор, предназначенная для перевода программ с языка высокого уровня на машинный язык, при переводе порождает ошибки. Ошибки, которые содержались в исходном описании, переводятся безошибочно.

Совет начинающему программисту:

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

Указание начинающему программисту:

Если вы с первого раза сумели написать программу, в которой транслятор не обнаружил ни одной ошибки, сообщите об этом системному программисту. Он исправит ошибки в трансляторе.

Принцип матёрого программиста:

Ошибка? Это не ошибка, это системная функция.

Требовать и эффективности, и гибкости от одной и той же программы — всё равно, что искать очаровательную и скромную жену… по-видимому, нам следует остановиться на чём-то одном из двух.

Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.

Выдавать глобальные идеи — это удовольствие; искать отвратительные маленькие ошибки — вот настоящая работа.

Как только проект окончательно принят, он становится устаревшим в смысле своих концепций.

Настойчивость руководителя может определить график выполнения задания, но не в состоянии определить срок его действительного завершения.

Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование.

Если за две минуты омлет ещё не готов, у заказчика два выбора — подождать или съесть его сырым.

Генерация случайных чисел — слишком важный вопрос, чтобы оставлять его на волю случая.

Я не знаю причины, по которой нам не следует этого делать, но, возможно, позже мы придумаем какую-нибудь.

Пользователь не знает, чего он хочет, пока не увидит то, что он получил.

На пустом диске можно искать вечно.

Если отладка — процесс удаления ошибок, то программирование должно быть процессом их внесения.

Вы уже дошли до состояния, когда у вас нет времени, чтобы разрешить те проблемы, которые отнимают у вас все время?

Компьютеры бесподобны: за несколько минут они могут совершить такую грандиозную ошибку, какую не в состоянии сделать множество людей за многие месяцы.

Вам могут понравиться

Вас может заинтересовать

Сайт законов Мерфи — Законы о компьютерах

Сайт законов Мерфи — Законы о компьютерах

Законы Мерфи о компьютерах

  • Любая запущенная программа устарела.
  • Любая программа стоит дороже и требует больше времени при каждом запуске.
  • Если программа окажется полезной, ее придется изменить.
  • Если программа бесполезна, ее нужно задокументировать.
  • Любая данная программа будет расширяться, чтобы заполнить всю доступную память.
  • Ценность программы обратно пропорциональна весу ее вывода.
  • Сложность программы растет, пока не превышает возможности программиста, который должен ее поддерживать.
  • В каждой нетривиальной программе есть по крайней мере одна ошибка.
    Следствие 1. Достаточным условием тривиальности программы является отсутствие ошибок.
    Следствие 2 — По крайней мере, одна ошибка будет обнаружена после того, как автор покинет организацию.
  • Ошибки появятся в одной части работающей программы при изменении другой «несвязанной» части.
  • Самые тонкие ошибки вызывают наибольший ущерб и проблемы.
    Следствие — Незаметная ошибка изменяет хранилище, маскируясь под другую проблему.
  • Убаюкивает Закон о безопасности
    «Отлаженная» программа, которая дает сбой, стирает исходные файлы на устройствах хранения, когда имеется наименее доступная резервная копия.
  • Отказ оборудования приведет к сбою системного программного обеспечения, и инженер заказчика обвинит программиста.
  • Сбой системного программного обеспечения заставит оборудование работать странно, и программисты будут винить в этом инженера-заказчика.
  • Необнаруживаемые ошибки бесконечны по разнообразию, в отличие от обнаруживаемых ошибок, которые по определению ограничены.
  • Добавление рабочей силы в поздний программный проект делает это позже.
  • Дайте возможность программистам писать программы на английском языке, и вы обнаружите, что программисты не могут писать на английском языке.
  • Задокументированные интерфейсы между стандартными программными модулями будут иметь недокументированные особенности.
  • Вероятность исчезновения аппаратного сбоя обратно пропорциональна расстоянию между компьютером и инженером заказчика.
  • Рабочая программа — это программа, в которой есть только ненаблюдаемые ошибки.
  • Неважно, сколько ресурсов у вас есть, их всегда недостаточно.
  • Любая крутая программа всегда требует больше памяти, чем у вас есть.
  • Когда вы, наконец, купите достаточно памяти, вам не хватит места на диске.
  • Диски всегда полны. Бесполезно пытаться получить больше места на диске. Данные расширяются, чтобы заполнить любую пустоту.
  • Если программа действительно умещается в памяти и на диске достаточно места, она гарантированно выйдет из строя.
  • Если такая программа еще не рухнула, она ждет критического момента, прежде чем выйдет из строя.
  • Независимо от того, насколько выгодна сделка с компьютерными комплектующими, цена всегда будет снижаться сразу после покупки.
  • Все компоненты устарели.
  • Скорость, с которой компоненты устаревают, прямо пропорциональна цене компонента.
  • Ошибки программного обеспечения невозможно обнаружить никому, кроме конечного пользователя.
  • Инженер по техническому обслуживанию никогда раньше не видел такой модели, как ваша.
  • Совершенно очевидно, что любые требуемые запчасти были только что сняты с производства и их больше не будет на складе.
  • Любой VDU, от самого дешевого до самого дорогого, защитит 20-центовый предохранитель, взорвавшись первым.
  • Любой производитель, который делает свои гарантии зависимыми от заземляемого устройства, будет поставлять силовые кабели только с двумя проводами.
  • Если для схемы требуется n компонентов, то на локальных складах будет только n — 1 компонент.
  • Сбой в устройстве никогда не появится, пока оно не пройдет окончательную проверку.
  • Добавление рабочей силы в поздний программный проект делает это позже.
  • Генератор программ создает программы с большим количеством ошибок, чем генератор программ.
  • Все константы являются переменными.
    Прислал Ристо Матикайнен
  • Константы не
  • Переменные не будут
    Последние два закона были отправлены Hnathoo
  • Деталь, упавшая с верстака, покатится со степенью
    недостижимость, пропорциональная его
    важность.
    Отправлено Нилом Будденбергом
  • В схеме транзистора, защищенной предохранителем, транзистор всегда перегорает, чтобы защитить предохранитель.
    Отправлено Нилом Будденбергом
  • Лучший способ увидеть своего начальника — это зайти в Интернет.
    Или …
    Как бы усердно вы ни работали, начальник появится только тогда, когда вы подключитесь к Интернету.
  • Жесткий диск вашего компьютера выйдет из строя только в том случае, если он содержит важную информацию, для которой не было выполнено резервное копирование.
    Последние два закона были отправлены Чарльзом Л.
  • мая

  • Компьютеры не делают ошибок — что они делают, они делают специально.
    Отправлено Терри Джастером
  • Если законы Мерфи так верны, то почему я могу войти на этот сайт и отправить …………
    [сброс соединения — сообщение об ошибке 928]
    Отправлено Полом Брином
  • Закон Гумпиона (?)
    Любую проблему, какой бы сложной она ни была, можно найти простым осмотром.
    Следствие: ворчливый злоумышленник с непрошенным советом сразу заметит его.
    Отправлено Рэем Гейстом, который счел его удобным при отладке компьютерного кода.
  • Каждый компьютерный код содержит пять ошибок, и это количество не зависит от того, сколько ошибок уже было обнаружено (это консервативно).
    Отправлено Эндрю
  • Нецензурная лексика — это язык, который знают все пользователи компьютеров.
    Отправлено Джеффом Уэббом
  • Количество ошибок всегда превышает количество строк, найденных в программе.
    Отправлено Яроном Будовски
  • Самые зловещие слова для тех, кто пользуется компьютерами: «Папа, что означает« Сейчас форматирую диск C »?»
    Отправлено Яэль Драгвила
  • Помещая что-либо в память, всегда помните, куда вы это положили.
    Отправлено Полом Пиготтом
  • Каждая нетривиальная программа содержит хотя бы одну ошибку.
  • Каждую нетривиальную программу можно упростить хотя бы одной строчкой кода.
    Заключение последних двух законов: любую нетривиальную программу можно упростить до одной строчки кода, и она будет содержать ошибку.
    Отправлено Брэндоном Эйкеном
  • Эксперт — это кто-то, кого пригласили в последнюю минуту, чтобы разделить вину.
    Отправлено Бэсси Эссьеном.
  • Отладка как минимум в два раза сложнее, чем первоначальное написание программы.
    Итак, если ваш код настолько умен, насколько это возможно, то по определению вы недостаточно умны, чтобы отлаживать его.
    Отправлено Брайаном Керниганом
  • Закон Бахамана:
    для любого программного обеспечения, как только вам удастся его освоить, появится новая версия.
    Отправлено Бахаманом.
    Дополнение Yakko:
    В новой версии всегда удается изменить одну функцию, которая вам больше всего нужна.
    Отправлено Якко
  • патчей — не надо.
    Отправлено Дору Таска
  • Большинство компьютерных ошибок можно отнести к аналогичной проблеме — ослаблен винт за клавиатурой.
  • Всякий раз, когда вам понадобится важный файл с сервера, сеть будет отключена.
  • Когда вам понадобится важный файл с жесткого диска, ваш компьютер выйдет из строя.
  • Задачи по электронной почте всегда будут приходить непосредственно перед выходом из системы.
  • Вирус на карантине — откроется.
  • Цепное письмо — пришлю. К глобальному. Десяток раз.
  • Вероятность заражения вашей сети вирусом прямо пропорциональна количеству нанесенного им ущерба.
  • Шансы закончить работу вовремя обратно пропорциональны тому, сколько электронной почты оставляет босс до конца рабочего дня.
  • Чем быстрее вам понадобится печатная копия, тем больше людей будут пользоваться единственным офисным принтером.
  • General Fault Errors — это индикатор «Check Engine» компьютеров. Если это можно исправить, скорее всего, это не вы.
  • Патч — это часть программного обеспечения, которое заменяет старые ошибки новыми.
  • Вероятность того, что программа сделает то, что она должна делать, обратно пропорциональна количеству строк кода, использованных для ее написания.
    Последние двенадцать законов были отправлены Райаном Сильвестром
  • Вероятность забыть пароль прямо пропорциональна частоте его смены.
  • Неважно, насколько хорош ваш последний и лучший компьютер, вы сможете купить его за половину цены через 12 месяцев.
    Последние два закона прислал Заин
  • Чем дольше загружается программа, тем больше вероятность, что она не запустится.
    Отправлено Skwirl
  • Отказ не вариант, он включен в программное обеспечение.
    Отправлено Полом
  • Программа хороша, когда в ней нет ошибок, а это невозможно.
    Отправлено Хансом ван Рейссе
  • Если вы забудете сохранять свою работу каждые 5 минут, она выйдет из строя через час.
    Отправлено Эриком Гильбо
  • Это не ошибка, это недокументированная функция.
  • Время, необходимое для успешного завершения программного проекта, прямо пропорционально количеству маркетинговых затрат.
    Следствие: Маркетинг не должен располагаться в том же городе, а тем более в одном кампусе, с инженерным отделом и / или программистом.
  • Единственное, что хуже, чем конечный пользователь без подсказки, — это конечный пользователь, который понимает — обычно не тот.
  • По мнению большинства сотрудников службы технической поддержки, наиболее частым пользовательским сообщением об ошибке (независимо от операционной системы) является ID 10T.
    Следствие 1 для конечных пользователей: большинство сбоев приложений происходит между 2 и 4 часами утра в воскресенье вечером, при этом крайний срок проекта — 6 часов утра понедельника.
    Следствие 2 для конечных пользователей: во время кладбищенской смены нет техподдержки, чтобы услышать ваш крик!
    Последние четыре закона и следствия прислал Джим Кирк
  • Ошибки загадочным образом появляются, когда вы говорите: «Смотри!» Следствие
    : если вы позвоните другому программисту, чтобы узнать, знает ли он, что случилось, ошибка исчезнет.
    Следствие прислал С. Бассел.
  • Вероятность появления ошибок прямо пропорциональна количеству и важности наблюдающих людей.
    Последние два закона прислал Билл Смит.
  • Звание сотрудника обратно пропорционально использованию им компьютера и его производительности.
    Отправлено Дэном Уоссоном
  • Единственная программа, которая каждый раз работает идеально, — это вирус
    , отправленный DaRk_jAcKaL
  • Если проект завершен по графику, значит он не был отлажен должным образом.
  • Операционная система без сбоев не работает.
  • Наихудшие ошибки в вашей программе обнаружатся только во время окончательной проверки.
    Последние три закона прислал Киран
  • Люди, которые говорят, что компьютеры просты в использовании, — это те же люди, которые рассказывают вам, как построить часы, когда вы спрашиваете, сколько сейчас времени.
    Отправлено Джеком Бетцем
  • Первый закон Филингтона
    Если он работает, то это производство. Если нет, то это тест.
  • Второй закон Филингтона
    Настоящие программисты не комментируют свой код.Если было трудно писать, должно быть трудно понять.
    Последние два закона прислал Филип Партингтон
  • Формат C: исправляет все
    , отправленные Роном Вестби
  • Закон компьютерной аэродинамики
    Компьютеры — отстой.
  • Закон о вторичной переработке
    Компьютер, который находится на рынке 6 недель, все еще можно использовать в качестве якоря для лодки.
  • Закон о безопасности
    Лучший способ обойти надоедливую функцию безопасности — это 13-летний ребенок.
  • Закон ускорения
    Компьютер, который превзошел свою способность разочаровывать пользователя (FC), будет ускоряться вниз на 9.8 метров на секунду в квадрате.
    Последние четыре закона прислал Тимоти Бойлард
  • Компьютеры позволяют эффективно тратить время
    Отправлено Джимом Ф.
  • Сделайте систему, которую может использовать даже дебил, и дебил будет ею пользоваться.
  • Сделайте тот, который требует обучения или интеллекта, и только дебил будет его использовать, но звонков в службу поддержки будет больше.
    Отправлено С. Басселлом
  • Вероятность возникновения проблем обратно пропорциональна количеству времени, оставшемуся до крайнего срока.
  • Вы всегда будете обнаруживать ошибки в своей работе после того, как распечатаете / отправите ее.
    Последние два закона прислал Нильс Хагеман
  • 90% ошибок программиста связаны с данными других программистов.
    Отправлено Эмануэлем
  • Сообщения «Незаконная ошибка» появляются только в том случае, если вы забыли сохранить свою работу
    Отправлено Абдул Мохсином
  • Если вы увеличите буквы в документе Word и затем распечатаете его, у вас будет все на первой странице и только одна строка на второй.
    Прислала Надин
  • OEM не производил деталь, необходимую для замены
    Отправлено Брайаном Лордом
  • Когда вы изучите свой новый компьютер, вам понадобится новый.
    Отправлено римским переводом
  • После выпуска программного обеспечения первая обнаруженная ошибка будет обнаружена человеком, который обычно не использует эту часть программы, но задается вопросом, почему он не может сделать то, чего обычно не делал бы.
    Отправлено Риком Г.
  • Когда в окне загрузки отображается «99% завершено», произойдет колебание напряжения, и вам придется начинать все сначала.
    Отправлено Сагаром Калантре
  • Миллионы людей считают себя животными, но я еще не встречал никого, кто верил бы в стабильность Windows. Даже человеческая глупость имеет пределы 😉
    Отправлено Сильвеном Галибером
  • Руководство по поиску и устранению неисправностей содержит ответы на все проблемы, кроме вашей.
    Отправлено Джесси Яновяком
  • Закон о подключаемых модулях
    Каждый раз, когда вы устанавливаете группу подключаемых модулей один за другим, чтобы узнать, какой из них может заставить ваше программное обеспечение работать, вы либо не получили нужный, либо случайно пропустили нужный, либо он стал последним. установлен.
    Отправлено Лодни Реном
  • Независимо от того, какая у вас проблема с вашим компьютером — это всегда вина Microsoft
    Следствие: если это не их вина — все равно вините их 🙂
    Отправлено Андреем Кереном
  • Вы будете отключены от Интернета или столкнетесь с ошибкой компьютера во время загрузки. Если вы не испытаете ни одного в пределах 80% завершения, то это произойдет на 99%. Если вам удастся получить файл, он окажется совершенно бесполезным и / или недействительным.
    Отправлено Хён Джин Ли
  • Вы всегда будете получать электронное письмо с веб-сайта, который никогда раньше не посещали.
  • 75% законов об ошибках на этой странице можно применить к MS Windows (любая версия).
    Последние два закона были отправлены Кристианом C
  • Автокоррекция — не
  • Microsoft excel- не
    последние два закона были отправлены Алегной
  • Если вам нужно выключить компьютер как можно скорее, он перезагрузится.
  • Самый быстрый способ выключить компьютер — отключить его от сети.
    Следствие: отключение ACPI (иногда быстрее, чем отключение) не всегда работает.
    Следствие: завершение работы ACPI будет терпеть неудачу чаще всего, когда вы рискуете быть пойманным за чем-то.
    Следствия были отправлены Stravag
  • Независимо от размера жесткого диска, который вы покупаете, вам нужно удвоить его за год.
    Последние три закона прислал Пляскос
  • Полная поломка компьютера произойдет вскоре после ухода обслуживающего персонала.
    Отправлено Яном Веналлом
  • Вирус будет удален при выходе из строя жесткого диска, и антивирусная программа будет бесполезна для его устранения.
    Отправлено Митчем
  • Проблема всегда существует между одной клавиатурой и соответствующим стулом.
    (Проблема с отправкой была бессонница … zzzzzz)
    Отправлено Cpt_Anderson
  • Программа, которая компилируется при первом запуске, имеет ошибку в алгоритме
    Отправлено Явором Димитровым
  • Закон Эдварда В. Берара
    Ходить по воде и разрабатывать программное обеспечение в соответствии со спецификациями легко, пока они оба заморожены.
    Прислал Андре Ван Дун
  • Чем меньше размер вашей учетной записи электронной почты, тем больше нежелательной почты вы получите.
  • Начальник всегда зайдет к вам на рабочее место, если вы случайно откроете ссылку для взрослых
  • Чем больше у вас всплывающих окон, тем больше вероятность, что босс придет к
    Последние три закона были отправлены Марком
  • Компьютер настолько умен, насколько умен человек
  • Если он не сломался, разгоните его!
    Последние два закона прислал Майкл Хорват
  • Если вы торопитесь, ваш компьютер выйдет из строя, жесткий диск будет поврежден или ваши файлы будут стерты.В любом случае, вы облажались, если у вас есть дедлайн.
    Отправлено Логаном
  • Надежность программного обеспечения:
    Инвестиции в надежность программного обеспечения будут увеличиваться до тех пор, пока не превысят возможную стоимость ошибок.
    Отправлено Биллом Прамиком
  • Компьютерный садизм: Когда компьютер причиняет человеку физический или умственный ущерб и не может получить ответную услугу (из-за правил управления).
  • Компьютерный мазохизм: когда компьютер принимает на себя все злоупотребления, которые, как вы думаете, вы можете ему причинить, и продолжает работать, как следует.
  • Звук скрежета металла или вид дыма, выходящего из ящика, — это предупреждение о том, что вы пытаетесь сделать слишком много, используя слишком мало.
  • Живучесть системы прямо пропорциональна цене применяемой к ней системы охлаждения и обратно пропорциональна количеству ее использования.
  • Антивирусные системы эффективно работают с вирусом только после того, как вирус прошел свой расцвет.
  • Самый страшный из вирусов — это вирус, о котором вы не знаете.
    Последние шесть законов были отправлены Stravag
  • Размер ущерба, который может нанести строка кода, обратно пропорционален длине строки
    Отправлено Китом Балмером
  • Вы получаете мгновенные сообщения только при работе над проектом, который должен быть немедленно выплачен
    Отправлено Китом
  • При разработке программы для обработки всех возможных глупых ошибок природа создает еще более глупого пользователя
    Отправлено Ричем Спейчером
  • Существует обратная зависимость между иерархией организации и ее пониманием компьютеров.
  • Пионеры получают стрелы
    Последние два закона прислал Сэм Леонард Сарасота, Флорида
  • Самые маленькие проблемы будут немедленно доведены до сведения генерального директора, но большие проблемы будут игнорироваться до тех пор, пока затронутая система не выйдет из строя.
    Отправлено Нилом Миллером
  • Leet Speak — не что иное, как попытка какого-то бедного дурака печатать очень, очень быстро.
  • Компьютеры никогда не работают так, как должны. Особенно, когда с ними все в порядке.
  • Программа будет работать так, как вы думаете, только тогда, когда вам все равно, работает ли она.
  • Программное обеспечение не выходит из строя, когда техник находится в комнате.
    Последние четыре закона были отправлены по адресу [email protected]
  • , как только вы загрузите большой файл, ваш компьютер выключится
    Отправлено TJ Engelking
  • Чем длиннее электронное письмо, тем больше вероятность, что оно не будет рассмотрено по какой-либо причине.
  • Если вы проявили достаточно осторожности, чтобы сохранить копию чего-либо, она вам не понадобится.Следовательно — отказ от сохранения копии прямо пропорционален ценности потерянной информации и времени, затраченному на ее сбор и набор
  • Прочтите все сообщения электронной почты три или четыре раза перед отправкой. Все ошибки обнаруживаются сразу после отправки
    Последние три закона были отправлены инж. Дэвид Контрерас-Саес
  • Мерфи работает в Microsoft. Фактически, он отвечает за их QA
    Отправлено xslf через twitter
  • шанс потерять данные обратно пропорционален количеству людей в комнате при обновлении простой серверной программы
    Отправлено Sandi Jerič
  • Достаточно хорошо — нет, если нет крайнего срока.
  • Не принимай это на свой счет, тупица
    Последние два закона прислал Аарон Хауэлл

.Сайт

законов Мерфи — Законы о технологиях

Сайт законов Мерфи — Законы о технологиях

Технологические законы Мерфи

  • Логика — это систематический метод, позволяющий уверенно прийти к неверным выводам.
  • Всякий раз, когда система становится полностью определенной, какой-нибудь дурачок обнаруживает нечто такое, что либо отменяет систему, либо расширяет ее до неузнаваемости.
  • В технологиях преобладают те, кто управляет тем, чего не понимает.
  • Если бы строители строили здания так, как программисты писали программы, то первый появившийся дятел уничтожил бы цивилизацию.
  • Пышность декора фронт-офиса обратно пропорциональна фундаментальной платежеспособности фирмы.
  • Компьютер способен уделять внимание ровно настолько, насколько это длина его электрического шнура.
  • Эксперт — это тот, кто знает все больше и больше о все меньшем и меньшем, пока он не знает абсолютно все ни о чем.
  • Скажите человеку, что во Вселенной 300 миллиардов звезд, и он вам поверит.Скажите ему, что на скамейке мокрая краска, и ему придется потрогать, чтобы убедиться. великие открытия делаются по ошибке.
  • Всегда рисуйте кривые, а затем наносите на график свои показания.
  • Ничего не строится по графику или в рамках бюджета.
  • Все хорошо, что кончается.
  • Встреча — это мероприятие, на котором протоколы хранятся, а часы теряются.
  • Первый миф об управлении состоит в том, что он существует.
  • Неисправность не появится, пока устройство не пройдет окончательную проверку.
  • Новые системы порождают новые проблемы.
  • Человеку свойственно ошибаться, но чтобы действительно все испортить, нужен компьютер.
  • Мы ни о чем не знаем миллионной доли процента.
  • Любая достаточно продвинутая технология неотличима от магии.
    Артур Кларк
  • Компьютер делает столько ошибок за две секунды, сколько 20 человек, проработавших 20 лет.
  • Ничто так не мотивирует человека, как то, что его босс честно трудится.
  • Некоторые люди управляют книгой, даже если они не знают, кто написал эту книгу и даже какую книгу.
  • Основная функция инженера-конструктора — усложнять работу изготовителю и делать невозможным для обслуживающего персонала.
  • Чтобы найти эксперта, выберите того, кто прогнозирует, что работа займет больше всего времени и будет стоить больше всего.
  • В конце концов, сказано и сделано намного больше, чем сделано.
  • Любая схема должна содержать по крайней мере одну часть, которая является устаревшей, две части, которые недоступны, и три части, которые все еще находятся в разработке.
  • Сложная работающая система неизменно эволюционировала из простой работающей системы.
  • Если математически вы получите неправильный ответ, попробуйте умножить его на номер страницы.
  • Компьютеры ненадежны, но люди еще более ненадежны. Любая система, которая зависит от надежности человека, ненадежна.
  • . Передавать все заказы устно. Никогда не записывайте ничего, что может попасть в «дело Перл-Харбора».
  • В самых строго контролируемых условиях давления, температуры, объема, влажности и других переменных организм будет делать то, что ему чертовски угодно.
  • Если вы не можете этого понять, это интуитивно очевидно.
  • Чем сердечнее секретарь покупателя, тем больше шансов, что у конкурента уже есть заказ.
  • При проектировании любого типа строительства невозможно правильно рассчитать общий размер после 16:30. в пятницу. Правильная сумма станет очевидной в 8:15 утра в понедельник.
  • Заполните то, что пусто. Опустошите то, что заполнено. И чесать там, где чешется.
  • Все возможно, кроме катания на лыжах через вращающуюся дверь.
  • Единственная совершенная наука — это предвидение.
  • Работайте умнее, а не усерднее и остерегайтесь орфографии.
  • Если его нет в компьютере, значит, его нет.
  • Если эксперимент работает, что-то пошло не так.
  • Когда ничего не помогает, прочтите инструкции.
  • Если есть вероятность, что несколько вещей пойдут не так, то пойдет не так то, что вызовет наибольший ущерб.
  • Все, что поднимается, должно упасть.
    Следствие: не всегда
    Следствие было отправлено Темным тамплиером
  • Любой инструмент при падении скатывается в труднодоступный угол.
  • Любая простая теория будет сформулирована самым сложным образом.
  • Постройте систему, которую сможет использовать даже дурак, и только дурак захочет ею пользоваться.
  • Степень технической компетентности обратно пропорциональна уровню управления.
  • Трудная задача будет остановлена ​​почти завершенной одной крошечной, ранее незначительной деталью.
  • Никогда не бывает времени делать это правильно, но всегда время делать это заново.
  • Оставшаяся работа, которую нужно закончить для достижения вашей цели, увеличивается по мере приближения крайнего срока.
  • Если когда-либо существует вероятность того, что несколько вещей пойдут не так, то пойдет не так то, что нанесет наибольший ущерб.
    Отправлено — Энтони Джонсон
  • Если что-то ломается и мешает вам что-то делать, это будет исправлено, если вы:
    1. больше не нужен
    2. находятся посреди чего-то другого
    3. не хочу, чтобы это было исправлено, потому что вы действительно не хотите делать то, что должны были делать
  • Каждая профессия разговаривает сама с собой на своем языке, по-видимому, Розеттского камня нет
  • Чем срочнее необходимо принять решение, тем менее очевидным становится личность лица, принимающего решение.
    Последние два закона были отправлены — Фус Арвин
  • Никогда не следует сообщать электронному оборудованию, что вы торопитесь.
    Отправлено — Чарльзом Л. Мэйсом
  • Не чините то, что не сломалось, потому что вы сломаете это, а вы все равно не сможете это исправить
  • По рельсам невозможно определить, в каком направлении прошел поезд.
    Чонг Квонг Шэн добавление:
    Только брызги пятен крови
    Последние два закона были отправлены Чонг Квонг Шенг
  • Dobie’s Dogma:
    Если вы не совсем запутались, значит, вы не были полностью проинформированы.
    Отправлено Ричардом Боббитом
  • Винт никогда не подходит к гайке.
  • Стандартных деталей нет.
    Последние два закона прислал Кент Берг
  • При работе с двигателем автомобиля любой упавший инструмент попадет прямо под центр двигателя.
    Отправлено королем Эдом
  • Сменных лент не будет.
    Прислал Джефф Уэбб
  • Никогда не доверяйте современным технологиям. Доверяйте ему только тогда, когда это старая технология.
    Отправлено Высоким Кроликом
  • Болт, который находится в самом неудобном месте, всегда будет с самой плотной резьбой.
    Отправлено Стэном Гайдой
  • Самая зловещая фраза в науке: «_Uh_-ой …»
    Отправлено Яэль Драгвила
  • Вторая худшая вещь, которую вы можете услышать, — это «Ой!». Худшее, что вы можете услышать от технических специалистов, — это «о дерьмо!»
  • Любой пример аппаратного / программного обеспечения можно сделать надежным. Однако это не может быть сделано
    чертовски защищенный.
    Последние два закона прислал Гай Данн
  • Теория графического оскорбления Россемблата:
    Когда вносятся какие-либо технологические изменения, мы получаем графическую кривую оскорбления.Независимо от того, насколько высоко это оскорбление
    кривая подъема, важно как долго она идет.
    Прислал Леон Россемблат
  • Закон Бахамана:
    для любого программного обеспечения, в тот момент, когда вы читаете обзоры программного обеспечения и сумеете освоить его, появляется новая версия этого программного обеспечения.
    Отправлено Бахаманом.
    Дополнение Yakko:
    В новой версии всегда удается изменить одну функцию, которая вам нужна больше всего.
    Отправлено Якко
  • В сегодняшней быстро меняющейся технологической среде требуется, чтобы мы больше забывали, чем узнавали.
    Отправлено Беверли Харрис
  • Сложное сделать просто, а сложное — простым.
    Отправлено Фредом Бутербо
  • Измерения будут указаны в наименее практичных единицах измерения; Скорость, например, будет измеряться в «фарлонгах в две недели».
    Прислал Кейт Хипкинс
  • При ремонте электроники деталь с наибольшей интенсивностью отказов всегда располагается в наименее доступной части оборудования.
    Отправлено Ричардом
  • Многомиллионная технология бесполезна в руках дебилов.
    Отправлено Дэнни
  • Правило защиты:
    Если вы установите предохранитель 50 ¢ для защиты 100-долларового компонента, 100-долларовый компонент перегорит, чтобы защитить 50 предохранитель.
    Отправлено Бобом Холденером
  • Карл Имхофф — немецкий инженер, разработавший системы очистки сточных вод в начале 1900-х годов. Его самым большим вкладом был резервуар Имхоффа, который позволяет оседать сточным водам. Закон Имхоффа касается боссов повсюду. Закон гласит:
    Самые большие куски всегда поднимаются наверх.
    Прислал П. Р. Зур
  • человеко-лет в сфере высоких технологий = 730 человек пытаются завершить проект до обеда.
    Отправлено Эриком
  • Эксперт всегда констатирует очевидное.
    Отправлено законом
  • Начальник всегда прав.
    Следствие: Если босс ошибается, вернитесь к правилу.
    Отправлено RC
  • На круизном лайнере самая важная деталь, которой у вас нет на складе, всегда ломается в пятницу вечером, как раз тогда, когда вы выходите из гавани и в следующий раз будете в гавани, в воскресенье или в канун Рождества.
    Отправлено Йоуни Сироненом — опытным звуко- и светотехником на круизных лайнерах.
  • Вероятность поломки копировального аппарата пропорциональна важности материала, который необходимо скопировать, и обратно пропорциональна количеству времени, в течение которого материал понадобится.
    Отправлено Тимоти Бойлардом
  • Служба технического обслуживания игнорирует жалобы заказчика до тех пор, пока не приступит к установке в новых проектах заказчика.
    Отправлено Халедом
  • Закон Мерфи о системах HVAC:
    Инженерная фирма HVAC (Отопление, Вентиляция и Кондиционирование) неизменно сдает в аренду офисные помещения в здании с плохой системой HVAC.
    Прислал Майкл В. Мерфи, который работал в 6 офисах HVAC-фирм и может подтвердить этот закон.
    Все, что могут сделать инженеры, — это вздрогнуть или потеть, стонать по этому поводу и сказать, как бы они это исправили, если бы собственнику здания было наплевать.
  • Вероятность поломки любого оборудования возрастает с увеличением важности ожидаемого посещения.
    Прислал Асьер Забарте
  • , если он работает теоретически, на практике не работает.
    , если он работает на практике, теоретически не работает.
    Отправлено Кевином
  • Закон об исследованиях:
    Каким бы умным и полным ни было ваше исследование, всегда найдется кто-то, кто знает больше.
    Отправлено Дж. Лоуренсом Кацем
  • Закон ремонта Сомерс:
    Ни одна деталь не выходит из строя там, где к ней можно добраться, или там, где достаточно света, чтобы увидеть, как ее заменить.
    Отправлено Джоном Сомерсом
  • Любой упавший инструмент упадет там, где он может причинить наибольший ущерб.
  • Проволока, обрезанная до нужной длины, будет слишком короткой.
  • Аналогичных запасных частей нет.
    Последние три закона прислал Билл Селовер
  • Когда вы наконец переходите на новую технологию, это когда все перестают ее поддерживать.
  • Взаимозаменяемые детали отсутствуют
    Отправлено trekker508
  • Предлагаемый размер любого проекта обратно пропорционален размеру проекта, который в конечном итоге станет.
    Следствие: Любой проект, который может потреблять больше ресурсов до достижения своего конечного состояния, будет делать это.
    Это произойдет быстрее, чем вы думаете.
    Также не обрадуются инвесторы.
    Отправлено Джоном Проселом
  • Чем менее разумна идея и кто ее излагает, тем больше вероятность, что она получит финансирование.
    Прислал Брэд Гохнауэр
  • Человек с одними часами уверен во времени. Мужчина с двумя часами — нет.
  • Чем больше знаний вы приобрели, тем меньше вы в них уверены.
  • Если вы думаете, что разбираетесь в науке (или компьютерах или женщинах), вы явно не эксперт
  • Техники — единственные, кто не доверяет технологиям
    Последние четыре закона были отправлены Яном Веналлом
  • Все невозможные отказы произойдут на испытательном полигоне.
    Следствие: все невозможные сбои будут происходить на настольном компьютере клиента
    Следствие, отправленное Дино Прайсом
  • Чем больше вы хотите связываться с кем-то через мессенджер, тем больше вероятность того, что он будет в сети.
  • Чем важнее ваша электронная почта, тем хуже ваш почтовый клиент все испортит.
    Последние два закона были отправлены Падме
  • Степень, с которой устройство будет работать, прямо пропорциональна количеству раз, когда оно подвергалось ударам, и обратно пропорциональна его стоимости.
  • Устройство, имеющее неразрушаемый компонент или обслуживаемое пользователем, считается небезопасным до тех пор, пока оно не будет заменено дорогостоящим, недоступным и неэффективным компонентом, который требует постоянного обслуживания.
    Последние два закона прислал Такура Раземба
  • Законы Ассафа о запасных частях
    • Неисправная деталь 25 не может быть заменена новой деталью 25, но может быть заменена на узел, стоимость которого равна или превышает стоимость устройства, нуждающегося в детали
    • Стоимость и доступность запасной части обратно пропорциональны стоимости всей системы: устройство за 1500 долларов выйдет из строя из-за сгорания конденсатора 25.Но конденсатор 25 ¢ либо
      • больше не производится
      • производится только компанией во Внешней Монголии с 18-месячным сроком хранения
      • доступен только как часть сборочного узла за 1450 долларов США

    Отправлено Фрэнсисом Ассафом

  • Все механическое / электрическое оборудование катастрофически выйдет из строя после истечения срока гарантии, если не была приобретена расширенная гарантия.
    Прислал Блэр Мюррей
  • Гарвардский принцип:
    При наиболее строго контролируемых условиях температуры, влажности, давления и т. Д., организм будет поступать так, как ему заблагорассудится.
  • Первый закон линейных уравнений:
    Для любой системы n линейных уравнений будет n + 1 неизвестное.
    Последние два закона прислал Билл Прамик.
  • Исчезновение назойливой ошибки в системе объяснимо только с точки зрения незначительного вклада источника в эту систему
    Отправлено Манджунатхой М., разработчиком приложений
  • Ремонтник никогда не видел такой модели, как ваша, до
    Отправлено Кристой
  • Закон о ремонтниках:
    Мастер ремонтирует вашу машину, чтобы она вышла из строя на следующий день, и заряжает новую машину.
    Отправлено Эдди Космой
  • Пока технология прогрессирует со скоростью света, ее внедрение фильтруется скоростью бюрократии
    Отправлено Моисеем Авалоном — mosesavalon.com
  • Теоретически разницы между теорией и практикой нет, но на практике она есть.
    Отправлено Дэном Чедвиком
  • Закон о стационарной технике
    Никогда не недооценивайте некомпетентность />
    Отправлено Гэри Соукупом

.

Шутки о компьютерных законах Мерфи

Компьютерные законы Мерфи 1
75% законов об ошибках, приведенных на этой странице, можно применить к MS Windows (любая версия).

Murphy Computer Law 2
90% ошибок программиста связаны с данными других программистов.

Murphy Computer Law 3
Письмо счастья — будет отправлено. К глобальному. Десяток раз.

Murphy Computer Law 4
Сложная система, которая не работает, неизменно считается эволюцией более простой системы, которая отлично работала.

Murphy Computer Law 5
Компьютер настолько умен, насколько умен человек, использующий его

Murphy Computer Law 6
Компьютерная программа всегда будет делать то, что вы ей говорите, но редко то, что вы от нее хотите.

Murphy Computer Law 7
«Отлаженная» программа, которая дает сбой, стирает исходные файлы на устройствах хранения при наличии наименее доступной резервной копии.

Murphy Computer Law 8
Сбой в устройстве никогда не появится, пока оно не пройдет окончательную проверку.

Murphy Computer Law 9
Аппаратный сбой приведет к сбою системного программного обеспечения, и инженер заказчика винит программиста.

Murphy Computer Law 10
Деталь, выпавшая с рабочего стола, катится до степени недоступности, пропорциональной ее важности.

Murphy Computer Law 11
Патч — это часть программного обеспечения, которое заменяет старые ошибки новыми.

Murphy Computer Law 12
Генератор программ создает программы, которые содержат больше ошибок, чем генератор программ.

Murphy Computer Law 13
Программа хороша, когда в ней нет ошибок, а это невозможно.

Murphy Computer Law 14
Программа, которая компилируется при первом запуске, имеет ошибку в алгоритме

Murphy Computer Law 15
Программа будет работать так, как вы думаете, должна только тогда, когда вам все равно, если она работает.

Murphy Computer Law 16
Вирус в карантине — будет открыт.

Murphy Computer Law 17
Сбой системного программного обеспечения заставит оборудование работать странно, и программисты будут винить инженера заказчика.

Murphy Computer Law 18
Вирус будет удален при выходе из строя жесткого диска, что делает его бесполезным для антивирусной программы, чтобы исправить его.

Murphy Computer Law 19
Рабочая программа — это программа, в которой есть только ненаблюдаемые ошибки.

Murphy Computer Law 20
По мнению большинства специалистов службы технической поддержки, наиболее частым пользовательским сообщением об ошибке (независимо от операционной системы) является ID 10T.

Murphy Computer Law 21
Добавление рабочей силы в поздний программный проект делает это позже.

Murphy Computer Law 22
Добавление рабочей силы в поздний программный проект делает это позже.

Murphy Computer Law 23
После выпуска программного обеспечения первая обнаруженная ошибка будет обнаружена человеком, который обычно не использует эту часть программы, но задавался вопросом, почему он не может делать то, что обычно не делал бы.

Murphy Computer Law 24
Все компоненты устарели.

Компьютерный закон Мерфи 25
Все константы являются переменными.

Murphy Computer Law 26
Звание сотрудника обратно пропорционально его использованию компьютера и пропорционально его производительности.

Murphy Computer Law 27
Эксперт — это кто-то, кого пригласили в последнюю минуту, чтобы разделить вину.

Murphy Computer Law 28
Антивирусные системы эффективно работают с вирусом только после того, как данный вирус прошел свой расцвет.

Murphy Computer Law 29
Любая классная программа всегда требует больше памяти, чем у вас есть.

Murphy Computer Law 30
Любая конкретная программа стоит дороже и требует больше времени при каждом запуске.

Murphy Computer Law 31
Любая данная программа будет расширяться, чтобы заполнить всю доступную память.

Murphy Computer Law 32
Любая запущенная программа устарела.

Murphy Computer Law 33
Любой производитель, который делает свои гарантии зависимыми от заземляемого устройства, будет поставлять силовые кабели только с двумя проводами.

Murphy Computer Law 34
Любую проблему, независимо от ее сложности, можно обнаружить простым осмотром.

Murphy Computer Law 35
Любой УВО, от самого дешевого до самого дорогого, защитит двадцатипроцентный предохранитель, взорвавшись первым.

Murphy Computer Law 36
, как только вы загружаете большой файл, ваш компьютер выключается

Murphy Computer Law 37
Auto Correct — не

Murphy Computer Law 38
Таинственным образом появляются ошибки, когда вы говорите: «Смотрите этот!»

Murphy Computer Law 39
Ошибки появляются в одной части работающей программы при изменении другой «несвязанной» части.

Murphy Computer Law 40
К тому времени, как вы изучите свой новый компьютер, вам понадобится новый.

Murphy Computer Law 41
Полная поломка компьютера произойдет вскоре после ухода обслуживающего персонала.

Murphy Computer Law 42
Компьютерный мазохизм: когда компьютер принимает на себя все злоупотребления, которые, как вы думаете, вы можете ему причинить, он продолжает работать так, как должен.

Murphy Computer Law 43
Компьютерный садизм: когда компьютер причиняет физический или психический ущерб человеку и не может получить ответную услугу (из-за правил управления).

Murphy Computer Law 44
Компьютеры не делают ошибок — что они делают, они делают специально.

Закон о компьютерах Мерфи 45
Компьютеры позволяют эффективно тратить время

Закон о компьютерах Мерфи 46
Компьютеры никогда не работают должным образом. Особенно, когда с ними все в порядке.

Компьютерный закон Мерфи 47
Константы — это не

Компьютерный закон Мерфи 48
Следствие: ворчливый злоумышленник с непрошенным советом сразу заметит его.

Компьютерный закон Мерфи 49
Следствие: Незаметная ошибка изменяет хранилище, маскируясь под какую-то другую проблему.

Компьютерный закон Мерфи 50
Следствие: Достаточным условием тривиальности программы является отсутствие в ней ошибок.

Murphy Computer Law 51
Следствие: отключение ACPI (иногда быстрее, чем отключение) не всегда работает.

Murphy Computer Law 52
Следствие: завершение работы ACPI будет терпеть неудачу чаще всего, когда вы рискуете быть пойманным за чем-то.

Murphy Computer Law 53
Следствие: после ухода автора из организации будет обнаружена как минимум одна ошибка.

Компьютерный закон Мерфи 54
Следствие: если это не их вина — все равно вините их 🙂

Компьютерный закон Мерфи 55
следствие: если вы позвоните другому программисту, чтобы узнать, знает ли он, что не так, ошибка исчезнет.

Murphy Computer Law 56
Следствие: Маркетинг не должен располагаться в том же городе, а тем более в одном кампусе, с инженерным отделом и / или программистом.

Murphy Computer Law 57
Отладка как минимум в два раза сложнее, чем первоначальное написание программы.

Murphy Computer Law 58
Диски всегда полны. Бесполезно пытаться получить больше места на диске. Данные расширяются, чтобы заполнить любую пустоту.

Закон о компьютерах Мерфи 59
Не принимайте это на свой счет, глупо

Закон о компьютерах Мерфи 60
В каждом компьютерном коде есть пять ошибок, и это число не зависит от того, сколько ошибок уже было обнаружено (оно консервативно).

Murphy Computer Law 61
Задания по электронной почте всегда будут приходить непосредственно перед выходом из системы.

Murphy Computer Law 62
Следствие 1 для конечных пользователей: большинство сбоев приложений происходит между 2 и 4 часами ночи в воскресенье вечером, а крайний срок проекта — 6 часов утра понедельника.

Закон о компьютерах Мерфи 63
Следствие 2 для конечных пользователей: Во время кладбищенской смены нет техподдержки, которая могла бы услышать ваш крик!

Компьютерный закон Мерфи 64
Каждая нетривиальная программа имеет хотя бы одну ошибку

Компьютерный закон Мерфи 65
Каждую нетривиальную программу можно упростить хотя бы одной строкой кода.

Murphy Computer Law 66
Каждая нетривиальная программа содержит как минимум одну ошибку.

Murphy Computer Law 67
Отказ не является вариантом, он включен в программное обеспечение.

Murphy Computer Law 68
для любого программного обеспечения, как только вам удастся его освоить, появится новая версия.

Закон о компьютерах Мерфи 69
Для каждого действия существует равная и противоположная неисправность.

Закон о компьютерах Мерфи 70
Формат C: исправляет все

Закон о компьютерах Мерфи 71
Общие ошибки неисправности — это индикатор «Check Engine» компьютеров. Если это можно исправить, скорее всего, это не вы.

Murphy Computer Law 72
Достаточно хорошо — нет, если нет крайнего срока.

Murphy Computer Law 73
У того, кто смеется последним, вероятно, есть подстраховка.

Murphy Computer Law 74
Если для схемы требуется n компонентов, то на складе будет только n — 1 компонент.

Murphy Computer Law 75
Если программа действительно умещается в памяти и на диске достаточно места, она гарантированно выйдет из строя.

Murphy Computer Law 76
Если программа полезна, ее нужно будет изменить.

Murphy Computer Law 77
Если программа бесполезна, ее необходимо задокументировать.

Murphy Computer Law 78
Если проект завершен в срок, значит, он не был отлажен должным образом.

Murphy Computer Law 79
Если он не сломался, разгоните его!

Закон о компьютерах Мерфи 80
Если работает, значит, производство. Если нет, то это проверка.

Компьютерный закон Мерфи 81
Если законы Мерфи так верны, то почему я могу войти на этот сайт и ………… [сброс соединения — сообщение об ошибке 928]

Компьютерный закон Мерфи 82
Если такая программа не вылетела тем не менее, он ждет критического момента, прежде чем выйдет из строя.

Murphy Computer Law 83
Если вы забудете сохранять свою работу каждые 5 минут, она выйдет из строя по прошествии часа.

Murphy Computer Law 84
Если вы увеличите буквы в документе Word, а затем распечатаете его, у вас будет все на первой странице и только одна строка на второй.

Murphy Computer Law 85
Если вам нужно выключить компьютер как можно скорее, он перезагрузится.

Murphy Computer Law 86
Если вы проявили достаточно осторожности, чтобы сохранить копию чего-либо, она вам не понадобится.Следовательно — отказ от сохранения копии прямо пропорционален ценности потерянной информации и времени, затраченному на ее сбор и ввод.

Закон о компьютерах Мерфи 87
Если вы торопитесь, ваш компьютер выйдет из строя. жесткий диск будет поврежден, или ваши файлы будут стерты. В любом случае, вы облажались, если у вас есть дедлайн.

Закон о компьютерах Мерфи 88
Сообщения «Незаконная ошибка» появляются только тогда, когда вы забываете сохранить свою работу.

Закон о компьютерах Мерфи 89
В транзисторной цепи, защищенной плавким предохранителем, транзистор всегда сгорает, чтобы защитить плавкий предохранитель.

Murphy Computer Law 90
Абсолютно очевидно, что любые требуемые запасные части были только что сняты с производства и их больше не будет на складе.

Murphy Computer Law 91
Это не ошибка, это недокументированная функция.

Компьютерный закон Мерфи 92
Закон ускорения: компьютер, который превзошел способность разочарований своего пользователя (FC), будет ускоряться вниз со скоростью 9,8 метра в секунду в квадрате.

Murphy Computer Law 93
Закон анти-безопасности: лучший способ избавиться от надоедливой функции безопасности — это 13-летний ребенок.

Murphy Computer Law 94
Закон о переработке: компьютер, который находится на рынке в течение 6 недель, по-прежнему можно использовать в качестве якоря для лодки.

Murphy Computer Law 95
Leet talk — не что иное, как попытка какого-то бедного дурака печатать очень, очень быстро.

Murphy Computer Law 96
Сделайте систему, которую сможет использовать даже дебил, и дебил будет ею пользоваться.

Murphy Computer Law 97
Дайте возможность программистам писать программы на английском языке, и вы обнаружите, что программисты не могут писать на английском языке.

Murphy Computer Law 98
Сделайте тот, который требует обучения или интеллекта, и только дебил будет использовать его, но звонков в службу поддержки будет больше.

Закон Мерфи о компьютерах 99
Microsoft превосходит всех

Закон о компьютерах Мерфи 100
Миллионы людей считают себя животными, но мне еще предстоит встретить человека, который верит в стабильность Windows. Даже человеческая глупость имеет пределы 😉

Murphy Computer Law 101
Большинство компьютерных ошибок можно отнести к аналогичной проблеме — ослаблен винт за клавиатурой.

Murphy Computer Law 102
Мерфи работает в Microsoft. Фактически, он отвечает за их контроль качества.

Закон о компьютерах Murphy 103
Независимо от размера жесткого диска, который вы покупаете, вам нужно будет удвоить его через год.

Murphy Computer Law 104
Независимо от того, насколько хорош ваш последний и лучший компьютер, вы сможете купить его за половину цены через 12 месяцев.

Murphy Computer Law 105
Независимо от того, насколько выгодна сделка с компьютерными компонентами, цена всегда будет снижаться сразу после покупки.

Murphy Computer Law 106
Как бы усердно вы ни работали, босс появится только тогда, когда вы подключитесь к Интернету.

Murphy Computer Law 107
Независимо от того, сколько ресурсов у вас есть, их всегда недостаточно.

Закон о компьютерах Мерфи 108
Независимо от того, какая у вас проблема с компьютером — это всегда вина Microsoft

Закон о компьютерах Мерфи 109
Операционная система без сбоев не работает.

Murphy Computer Law 110
Исправлений — не надо.

Закон о компьютерах 111
Пионеры получают стрелы

Закон о компьютерах Мерфи 112
Закон о подключаемых модулях: всякий раз, когда вы устанавливаете группу подключаемых модулей один за другим, чтобы узнать, какой из них может заставить ваше программное обеспечение работать, вы либо не получили права один, или случайно пропустили правильный, или он стал последним установленным.

Murphy Computer Law 113
Нецензурная лексика — это язык, который знают все пользователи компьютеров.

Murphy Computer Law 114
Сложность программы растет до тех пор, пока она не превосходит возможности программиста, который должен ее поддерживать.

Murphy Computer Law 115
Прочтите все сообщения электронной почты три или четыре раза перед отправкой. Все ошибки обнаруживаются сразу после отправки.

Murphy Computer Law 116
Настоящие программисты не комментируют свой код. Если было трудно писать, должно быть трудно понять.

Murphy Computer Law 117
Итак, если ваш код настолько умный, насколько вы можете его создать, то по определению вы недостаточно умны, чтобы отлаживать его.

Murphy Computer Law 118
Ошибки программного обеспечения невозможно обнаружить никому, кроме конечного пользователя.

Murphy Computer Law 119
Программное обеспечение не дает сбоев, когда технический специалист находится в комнате.

Murphy Computer Law 120
Надежность программного обеспечения: Инвестиции в надежность программного обеспечения будут увеличиваться до тех пор, пока не превысят вероятную стоимость ошибок.

Компьютерный закон Мерфи 121
Размер ущерба, который может нанести строка кода, обратно пропорционален длине строки

Компьютерный закон Мерфи 122
Количество времени, необходимое для успешного завершения программного проекта, прямо пропорционально объем маркетингового вклада.

Murphy Computer Law 123
Лучший способ увидеть своего босса — это зайти в Интернет.

Murphy Computer Law 124
Босс всегда будет приходить к вам на рабочее место, когда вы случайно откроете ссылку для взрослых

Murphy Computer Law 125
Вероятность заражения вашей сети вирусом прямо пропорциональна количеству нанесенного им ущерба.

Компьютерный закон Мерфи 126
шанс потерять данные обратно пропорционален количеству людей в комнате при обновлении простой серверной программы

Компьютерный закон Мерфи 127
Вероятность того, что программа сделает то, что она должна делать, обратно пропорциональна количество строк кода, использованных для его написания.

Murphy Computer Law 128
Шансы закончить работу вовремя обратно пропорциональны тому, сколько электронной почты оставляет босс до конца рабочего дня.

Murphy Computer Law 129
Вывод из двух последних законов: любую нетривиальную программу можно упростить до одной строки кода, и она будет содержать ошибку.

Murphy Computer Law 130
Задокументированные интерфейсы между стандартными программными модулями будут иметь недокументированные особенности.

Murphy Computer Law 131
Чем быстрее вам понадобится печатная копия, тем больше людей будут пользоваться единственным офисным принтером.

Murphy Computer Law 132
Информацию нужно искать в первую очередь в том разделе руководства, где вы меньше всего ожидаете ее найти.

Murphy Computer Law 133
Жесткий диск вашего компьютера выйдет из строя только тогда, когда он будет содержать важную информацию, для которой не было выполнено резервное копирование.

Murphy Computer Law 134
Вероятность возникновения проблем обратно пропорциональна количеству времени, оставшемуся до крайнего срока.

Murphy Computer Law 135
Чем дольше загружается программа, тем больше вероятность, что она не запустится.

Компьютерный закон Мерфи 136
Чем длиннее электронное письмо, тем больше вероятность, что оно не дойдет до его детализации по какой-либо причине

Закон Мерфи о компьютерах 137
Инженер по техническому обслуживанию никогда раньше не видел такую ​​модель, как ваша. .

Murphy Computer Law 138
Чем больше у вас всплывающих окон, тем больше вероятность, что босс придет.

Murphy Computer Law 139
Самый страшный из вирусов — это вирус, о котором вы не знаете, уже есть.

Murphy Computer Law 140
Самые зловещие слова для тех, кто пользуется компьютерами: «Папа, что означает« Теперь форматируем диск C »?»

Murphy Computer Law 141
В новой версии всегда удается изменить одну функцию, которая вам нужна больше всего.

Компьютерный закон Мерфи 142
Количество ошибок всегда превышает количество строк, обнаруженных в программе.

Murphy Computer Law 143
Причина номер один компьютерных проблем — это компьютерные решения.

Murphy Computer Law 144
OEM фактически не производил деталь, которая вам нужна для замены

Murphy Computer Law 145
Единственная программа, которая каждый раз работает идеально — это вирус

Murphy Computer Law 146
Единственное, что хуже, чем конечный пользователь без подсказки — это конечный пользователь, который понимает — обычно не тот.

Murphy Computer Law 147
Люди, которые говорят, что компьютеры просты в использовании, — это те же люди, которые рассказывают вам, как построить часы, когда вы спрашиваете, сколько сейчас времени.

Компьютерный закон Мерфи 148
Вероятность исчезновения аппаратного сбоя обратно пропорциональна расстоянию между компьютером и инженером заказчика.

Закон о компьютерах Мерфи 149
Вероятность появления ошибок прямо пропорциональна количеству и важности наблюдающих людей.

Murphy Computer Law 150
Вероятность забыть пароль прямо пропорциональна частоте его смены.

Murphy Computer Law 151
Проблема всегда существует между одной клавиатурой и соответствующим стулом.(Проблема с отправкой была бессонница… zzzzzz)

Murphy Computer Law 152
Самый быстрый способ выключить компьютер — это отключить его от сети.

Murphy Computer Law 153
Чем меньше размер вашей учетной записи электронной почты, тем больше нежелательной почты вы получите

Murphy Computer Law 154
Самые маленькие проблемы будут немедленно доведены до сведения генерального директора, но большие проблемы будут игнорируется, пока затронутая система не выйдет из строя

Murphy Computer Law 155
Звук скрежета металла или вид дыма, исходящего из ящика, являются предупреждением о том, что вы пытаетесь сделать слишком много, используя слишком мало.

Murphy Computer Law 156
Скорость, с которой компоненты устаревают, прямо пропорциональна цене компонента.

Murphy Computer Law 157
Самые тонкие ошибки вызывают наибольший ущерб и проблемы.

Murphy Computer Law 158
Живучесть системы прямо пропорциональна стоимости применяемой к ней системы охлаждения и обратно пропорциональна количеству ее использования.

Murphy Computer Law 159
Руководство по поиску и устранению неисправностей содержит ответы на все проблемы, кроме вашей.

Компьютерный закон Мерфи 160
Ценность программы обратно пропорциональна весу ее вывода.

Murphy Computer Law 161
Наихудшие ошибки в вашей программе обнаружатся только во время окончательной проверки.

Компьютерный закон Мерфи 162
Существует обратная связь между иерархией организации и ее пониманием компьютеров.

Murphy Computer Law 163
Человеку свойственно ошибаться… винить компьютер в своих ошибках еще более человечно, это совершенно естественно.

Компьютерный закон Мерфи 164
Необнаруживаемые ошибки бесконечны по разнообразию, в отличие от обнаруживаемых ошибок, которые по определению ограничены.

Закон Мерфи о компьютерах 165
Переменные не будут

Закон о компьютерах Мерфи 166
Ходить по воде и разрабатывать программное обеспечение в соответствии со спецификациями легко, если они оба заморожены.

Компьютерный закон Мерфи 167
Во время вычислений, что бы ни случилось, ведите себя так, как если бы вы хотели, чтобы это произошло.

Компьютерный закон Мерфи 168
При разработке программы для обработки всех возможных глупых ошибок природа создает глупого пользователя

Компьютерный закон Мерфи 169
Помещая что-либо в память, всегда помните, куда вы это поместили.

Murphy Computer Law 170
Когда в окне загрузки отображается «99% завершено», произойдет колебание напряжения, и вам придется начинать все заново.

Murphy Computer Law 171
Когда дела идут плохо, обновите.

Murphy Computer Law 172
Когда вы, наконец, купите достаточно памяти, у вас не будет достаточно места на диске.

Закон о компьютерах Мерфи 173
Когда вы дойдете до того момента, когда вы действительно поймете свой компьютер, он, вероятно, устарел.

Murphy Computer Law 174
Всякий раз, когда вам понадобится важный файл с сервера, сеть будет отключена.

Murphy Computer Law 175
Когда вам понадобится важный файл с жесткого диска, ваш компьютер выйдет из строя.

Murphy Computer Law 176
Вы получаете мгновенные сообщения только при работе над проектом, который подлежит немедленному выполнению.

Murphy Computer Law 177
Вы всегда обнаружите ошибки в своей работе после того, как распечатаете / отправите ее.

Murphy Computer Law 178
Вы будете отключены от Интернета или столкнетесь с ошибкой компьютера при загрузке.Если вы не получите ни одного ответа в течение 80%, то это произойдет на 99%. Если вам удастся получить файл, он окажется совершенно бесполезным и / или недействительным.

Murphy Computer Law 179
Вы всегда будете получать электронное письмо с веб-сайта, который никогда раньше не посещали.

Funny Joker: Мне нравятся смешные анекдоты, и, вероятно, именно поэтому у меня есть этот сайт очень смешных анекдотов 🙂 Шутки здесь НЕ для работы, вас предупреждали.

Сайт — действительно смешные анекдоты

.

Сайт законов Мерфи — Преподавание законов

Сайт законов Мерфи — Преподавание законов

Законы Мерфи об обучении

  • Часы в кабинете инструктора идут неправильно.
  • Катастрофа произойдет, когда посетители окажутся в комнате.
  • Предмет, интересный учителю, будет утомлять студентов.
  • Время, затрачиваемое учителем на объяснение, обратно пропорционально информации, которую запоминают ученики.
  • Продолжительность встречи прямо пропорциональна скуке, которую вызывает оратор.
  • Ученикам, которые успевают лучше, приписывают более усердную работу. Если дети начнут плохо учиться, виноват будет учитель.
  • Проблемным ребенком будет сын члена школьного совета.
  • Когда инструктор опаздывает, он встретит директора в холле.
  • Если инструктор опаздывает и не встречается с директором, инструктор опаздывает на собрание факультета.
  • Новые ученики приходят из школ, в которых ничему не учат.
  • Хорошие ученики уходят.
  • Во время разговора со школьным психологом учитель скажет: «чудак», а не «эмоционально расстроен».
  • Школьный совет сделает предложение о лучшей оплате до того, как профсоюз учителей начнет переговоры.
  • Инструкторский кабинет станет самым большим за несколько лет.
  • Администрация будет рассматривать учебный зал как время подготовки учителя.
  • Часы будут работать быстрее в свободное время.
  • В контрольный день будет отсутствовать не менее 15% класса
  • Если инструктор преподает искусство, директор будет бывшим тренером и не будет любить искусство. Если инструктор является тренером, то директором будет бывший тренер, который привез команду-победителя в штат.
  • Закон Мерфи не вступит в силу в начале оценки.
  • Закон библиотек Вайнера
    Нет ответов, только перекрестные ссылки.
  • Законы о расписании занятий
    1. Если в курсе, который вы хотели больше всего, есть место для «n» студентов, вы будете «n + 1», чтобы подать заявку.
    2. Расписание занятий

    3. составлено таким образом, чтобы каждый ученик тратил максимум времени между занятиями.
      Следствие: когда вы иногда можете запланировать два занятия подряд, они будут проводиться в классах на противоположных концах кампуса.
    4. Предварительные условия для желаемого курса будут предложены только в течение семестра, следующего за желаемым курсом.
  • Законы прикладного террора
    1. При просмотре заметок перед экзаменом самые важные из них будут неразборчивыми.
    2. Чем больше вы изучили перед экзаменом, тем меньше вы уверены, какой ответ они хотят
    3. Восемьдесят процентов итогового экзамена будет основано на одной пропущенной лекции о книге, которую вы не читали.
    4. В ночь перед промежуточным экзаменом по истории английского языка ваш инструктор по биологии назначит двести страниц планарии.
      Следствие: Каждый инструктор предполагает, что вам больше нечего делать, кроме как изучать курс этого инструктора.
    5. Если вам дадут экзамен по открытой книге, вы забудете свою книгу.
      Следствие: если вам сдадут домашний экзамен, вы забудете, где живете.
      Следствие: если тест находится в режиме онлайн, вы забудете свой пароль
      Последнее следствие было отправлено Feenyx
    6. В конце семестра вы вспомните, что записались на курс в начале семестра — и никогда не посещали.
  • Первый закон выпускных экзаменов
    Батарейки карманного калькулятора, проработавшие весь семестр, выйдут из строя во время выпускного экзамена по математике.
    Следствие: Если вы принесете дополнительные батареи, они будут дефектными.
  • Второй закон финальных экзаменов
    В самом сложном финале самый привлекательный ученик в классе впервые сядет рядом с вами.
  • Закон Сигера
    Все, что указано в скобках, можно игнорировать.
  • Закон исчисления Натали
    Вы никогда не поймете, пока не закончите тест.
  • Закон о высшем образовании Сейта
    Один курс, который вы должны пройти, чтобы получить высшее образование, не будет предлагаться в течение вашего последнего семестра.
  • Правило курсовой работы
    Книга или периодическое издание, наиболее важные для выполнения вашей курсовой работы, будут отсутствовать в библиотеке.
    Следствие: Если он доступен, самая важная страница будет вырвана.
  • Закон научных исследований Даггана
    Самая ценная цитата — та, для которой вы не можете определить источник.
    Следствие: источник цитаты без указания атрибута появится в самом враждебном обзоре вашей работы.
  • Правила Ромингера для студентов
    1. Чем шире название курса, тем меньше вы из него извлечете.
    2. Чем конкретнее название, тем меньше вы сможете его применить позже.
  • Hansen’s Library Axiom
    В ближайшей библиотеке нет нужного материала.
  • Лондонский закон о библиотеках
    Независимо от того, какая книга вам нужна, она находится на нижней полке.
  • Законы библиотечного человека
    Вы не найдете книги, которые вы заказали для этого большого проекта, до тех пор, пока не наступит срок сдачи проекта или книг.
  • Библиотека закроется за 5 минут до того, как вы вспомните, что оставили свою сумку с книгами внутри.
    Следствие: это будет суббота, и он не откроется до понедельника.
    Следствие: Ваша незаконченная курсовая работа (срок сдачи в понедельник утром) и все ваши исследования будут внутри.
  • Все библиотекари будут рады помочь, когда она вам не понадобится, но исчезнут, если у вас возникнет вопрос о десятичной системе Дьюи.
  • Дьюи был пьян, когда ввел десятичную систему счисления.
    Последние четыре закона были отправлены Эндрю Стивенсом, он хочет посвятить их Столетней филиальной библиотеке Серкл Пайнс, Миннесота.
  • Правила Ромингера для учителей
    1. Когда студент спрашивает во второй раз, читали ли вы его отчет по книге, он не читал книгу.
    2. Если посещение является обязательным, запланированный экзамен приведет к увеличению пропусков занятий. Если посещение не является обязательным, на экзамене будут представлены люди, которых вы никогда раньше не видели.
  • Пензенский закон об уроках математики
    Носильщик постучит в дверь в самый ответственный момент урока.
    Отправлено Симоне Пензавалле
  • Закон Ланчоне
    Вы не можете ошибиться в написании чисел, если пишете их цифрами.
    Прислал Сал Lnacione
  • Дальний конец комнаты никогда не бывает достаточно далеко.
    Отправлено Дэном Голдштейном
  • Студенты никогда не разочаруют.
    Прислал Grotblik
  • Английский язык, например Это проблема, когда все правильно
    Отправлено Майклом
  • Недостатки учителя, которого вы ненавидите, записываются в ваш постоянный учет.
  • Заслуги учителя, которого вы ненавидите, занесены в постоянный учет ученика, которого вы ненавидите еще больше.
    Последние два закона прислал Ленни Куитс
  • Экзаменационная работа всегда проще, когда вы ее не сдаете.
    Отправлено Джётсной.
  • Закон составления закона Мерфи:
    Все, что было достигнуто при установке компьютера в класс, — это объединение двух областей, подпадающих под действие закона Мерфи.
  • Закон универсального интеллекта:
    Самый плохой ученик во всех классах учителя всегда один из тех способных, которых он не может завалить.
  • Закон управления поведением:
    Ничто так не привлекает их внимание, как прикосновение ногтей к классной доске.
  • Закон родительской динамики:
    Наихудшие возражения со стороны родителей всегда возникают из-за инцидента, о котором их ребенок солгал.
  • Закон неодушевленного движения, также называемый «Склонность к отрастанию ног»:
    Все, что не надежно закреплено на месте, независимо от размера, найдет выход из комнаты.
    Приложение: И вызвать проблему в коридоре.
    Следствие: Вероятность исчезновения объекта напрямую зависит от его способности вызвать проблему в зале.
    Последние пять законов прислал Тимоти Бойлар
  • В глазах вашего профессора вы ВСЕГДА ошибаетесь, так что не пытайтесь.
    Прислала Ана М.
  • Независимо от того, сколько вы готовитесь к тесту, вам будут заданы вопросы, которых вы не знаете.
    Отправлено Дэвидом Пул
  • Когда вы готовитесь к легким тестам, вы терпите неудачу, но когда вы не готовитесь к сложным, вы сдаетесь со 100%.
  • Когда есть учитель, которого все говорят, что вы хотите, вы получаете того, кого не хотите. И когда вы получаете те, которые вам нужны, это когда они в конечном итоге меняют свой образ жизни и решают усложнить урок.
  • Если вы знаете, что правы, то это не так.
    Отправлено Брэдом Гохнауэром
  • Чтобы знать, много спите меньше.
  • Ты недостаточно молод, чтобы знать все
    Последние два закона были отправлены Яном Веналлом
  • Не бывает глупых вопросов, если только тот, кто задает вопрос, не глуп.
    прислал Шейн Джонстон
Закон о студентах колледжа
  • Вы только что закончили работу с докладом, который считается вашими последними пятью минутами перед уроком, и обнаружили, что в принтере закончились чернила
  • Когда у вас, наконец, появляется достаточно денег, чтобы купить чернила для принтера, в магазине кончается тот, который вам нужен.
    Отправлено Дафной Стивенс
  • Алкоголь всегда решит любую проблему.
  • Пицца — это полноценное блюдо … горячая или холодная
  • долларов на обед всегда не хватает
  • Ваши родители всегда звонят вам на мобильный, когда вы на вечеринке
  • Каждый раз, когда у вас есть пиво в комнате, ваш RA решает, что это идеальное время для неожиданных проверок
  • Профессор никогда не придерживается программы
    Последние семь законов прислал Джон Хофстра
  • У одного студента колледжа в машине с хот-родом половина мозга, у двух студентов колледжа нет мозга
    Отправлено Wildmoongurl69 @ aol.com
  • Чем усерднее учишься, тем дальше отстаешь
  • Знание математики и преподавание математики не равнозначны
  • То, что «очевидно» для всех, не будет для вас
  • Записки, написанные в классе, являются иероглифами дома
  • Проблем, с которыми можно работать, не будет на тесте
  • Проблемы, с которыми вы не можете работать, будут на тесте
  • Любая простая идея будет обозначена тремя разными символами
  • Кредо Общественного колледжа: все исправить изолентой, есть только лапшу рамэн, пить только кофеин.
    Последние восемь законов были отправлены [email protected], он получил эти законы от учителя математики
  • Если вы будете усердно готовиться к этому важному экзамену, установщики решат сменить фокус экзамена на «мыслящий» и «аналитический».
    Следствие: Если вы запомнили информацию, она будет бесполезной.
  • Если вы не будете готовиться к этому важному экзамену, работа будет содержательной.
    Следствие: если вы не изучаете, каждый вопрос будет казаться чем-то, что вы помните, прочитав в своих учебниках месяц назад, следовательно, будет казаться (конечно, обманчиво) легким, хотя вы не сможете вспомнить точную формулировку ответа.
    Отправлено Винни Чу.
  • Если вы даете информацию без ссылки на источник, то это неверная информация.
  • Если вы цитируете источник информации, на самом деле она пришла от кого-то другого.
  • Если вы что-то не цитировали, это было единственное, что ваш профессор хотел, чтобы вы процитировали.
    Последние три закона прислал Кевин Зун
  • Не бывает глупых вопросов, если только тот, кто задает вопрос, не глуп.
    Отправлено Шейном Джонстоном
  • Если вы принесете на испытание калькулятор на солнечной энергии, освещение в комнате не будет работать.
    Отправлено RKLisle
  • Когда вы что-то придумали разумно, ваши одноклассники разобрались бы раньше вас и лучше
  • Когда вы думаете, что человек, с которым вы встречаетесь, выглядит глупо, шансы на то, что он действительно умный, очень высоки
  • Шансы плохо сдать экзамен очень высоки, если вы усердно учились. или Вероятность получить пятерку в тесте обратно пропорциональна вашей тяжелой работе (однако обратное НИКОГДА не может быть доказано)
    последние три закона были отправлены Манаса Партхашарати
  • В тот день, когда вы планировали провести большую часть подготовки к самому сложному выпускному экзамену, ваш сосед будет весь день косить траву
    Отправлено Пшемеком Пайеком

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *