Законы Мерфи для программистов
Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru
Интернет - это система сотрудничающих программ, а программы, как известно, пишутcя программистами. Некоторые мои студенты, правда, пытаются оспаривать этот факт и считают, что стоит как следует поискать в сети, и найдешь, то что нужно. Я сам являюсь программистом и мне близки эти проблемы. Предлагаю вашему вниманию мой перевод избранных законов Мерфи для программистов. Полный "свод законов" можно найти на сайте
- Любая работающая программа уже устарела.
-
Любая программа обходится дороже и требует больше времени, чем казалось в начале.
-
Если программа полезна, ее обязательно переделывают.
-
Если программа бесполезна, ее тщательно документируют.
-
Любая программа в конце концов занимает всю доступную память.
-
Ценность программы обычно определяется весом выдаваемой ею распечатки.
-
Cложность программы обычно растет до тех пор, пока не превысит способности программиста, призванного ее поддерживать.
-
Если утилиты, испытанные при инсталяции, работают идеально, все остальные функции будут работать не верно.
-
Если входной редактор спроектирован так, чтобы исключить неверный ввод, найдется изобретательный идиот, который изыщет метод ввести разрушительную команду.
-
Невежество - единственный язык, которым владеют все программисты.
-
Увеличение численности программистов, работающих над проектом, увеличивает сроки его выполнения.
-
Небрежно спланированный проект требует в 3 раза больше времени, чем ожидалось, а тщательно спланированный - только в 2.
-
В программе всегда есть еще одна ошибка.
-
Невозможно создать программу с полной защитой от дураков, ибо дураки крайне изобретательны.
-
Если все идет хорошо, вас вскоре ждут серьезные осложнения.
-
Если дела идут хуже некуда, вскоре выяснится, что это не так.
-
Если кажется, что все в порядке, вы просто что-то просмотрели.
-
Тестовые операции и результаты их выполнения должны быть воспроизводимы - они все должны давать одинаковые отказы.
-
Вы всегда найдете еще одну ошибку, если еще раз загляните в свою программу.
-
Терминал работает лучше, если его включить в сеть.
-
Если все не работает, читайте документацию.
-
Если вам не понятно какое-то слово в технической документации, игнорируйте его, смысл от этого не пострадает.
-
Не важно, много ли вы работаете, вы все равно работаете недостаточно.
-
То, чего вы не делаете, всегда важнее того, что вы делаете.
-
Всегда оставляйте место для объяснения того, почему ваша программа работает не так как планировалось.
-
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
-
Если бы строители сооружали здания также, как программисты пишут свои программы, первый же дятел разрушил бы человеческую цивилизацию.
-
Программисты действуют рационально, лишь тогда, когда другие способы исчерпаны.