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