Законы программирования
Создано Евгений Злобин в марта 29, 2011- Любое приложение устаревает сразу после установки.
- Легче изменить спецификацию, чтобы она соответствовала приложению, чем наоборот.
- Если приложение оказалось полезным, его изменят в следующей версии.
- Если приложение бесполезно, у него есть полная документация.
- Только десять процентов кода в приложении когда-нибудь выполняется.
- Программное обеспечение склонно потреблять все доступные ресурсы.
- Любая нетривиальная программа содержит хотя бы одну ошибку.
- Вероятность безупречной демонстрации приложения обратно пропорциональна количеству людей ее наблюдавших в возведённое в степень количества денег потраченных на разработку.
- Только после того как приложение отработало по крайней мере шесть месяцев, будет обнаружена самая критическая ошибка.
- Количество трудно-обнаружимых ошибок бесконечно, в отличие от легко-обнаружимых ошибок, которые ограничены по определению.
- Если в приложении нет ошибок, значит им никто не пользуется.
- Усилие, требуемое для исправления ошибки, увеличивается экспоненциально со временем.
- Сложность приложения растет, пока она не превышает способности команды программистов, которые должны его поддерживать.
- Любой Ваш код, в который Вы не заглядывали несколько месяцев, будет выглядеть так как будто его писали не Вы.
- Чем раньше вы начнете кодирование, тем больше времени это займет.
- Небрежно спланированный проект продолжается в три раза дольше чем планировалось; тщательно спланированный проект только в два раза дольше.
- Приложения никогда не готово меньше чем на 90% и никогда больше чем на 95%.
- Автоматизация беспорядка приводит к автоматизированному бардаку.
- Пользователи действительно не знают того, чего они хотят от приложения, пока они не попробуют его в действии.
Взято отсюда: http://mphome.dp.ua/page/4/


почти верно. по последнему пункту так вообще хочу высказаться. Пользователь может сказать точно, что он хочет, только если до этого он видел уже готовый результат. И хочет копию этого. Еще ни разу не было такого, чтобы шаблоны заказчика полностью совпадали с результатом исполнителя. Даже когда нам показывали пример того, что они хотят. А если заказчик еще сам смутно представляет то, что он просит, то ждет макет от исполнителя и с умным видом его потом исправляет
ахах)) Смех смехом, но даже учитывая свой пока не очень большой опыт в программировании, во многих пунктах уже убедился на практике
Если в приложении нет ошибок, значит им никто не пользуется.
как вывод верен. Идеальных программ по-моему нет!
Может кому-то и смешно, но иногда когда сталкиваешься с отдельными пунктами статьи совсем не смешно становится. Хотя может быть это касается только таких посредственностей в программировании как я
Я чуть живот не порвал ))). Всё жизненно. Ни одна программа в мире не работает на сто процентов. Если программа заработала с первого раза, значит что-то не так.
Замечательная «сводка» законов. Сам из личного опыта часть этих законов выяснял и проверял
)
Посмеялся) Надо было этот пост 1 апреля выкладывать)
Да все действительно по теме,мы всегда учимся на своих ошибках. И при повторном обращении к программе все идет уже намного легче)про забывания кодов +100)
Сложно писать для людей, немного разбирающихся в программировании. Они постоянно пытаются умничать и вставлять свои реплики, чем крайне раздражают разработчика.
Самый адекватный закон, это лучше напиши все сам, чем возьми где то наполовину готовое, и сиди часами разбирайся в чужом коде
))
Можно просто подсказать как решыть проблему есле вы специалист или сделать замечание и откоректировать человека, а не ржать с него!!!
Хотя я по профессии и программист, но многие законы мне были не известны.
посмеялся. спасибо.
С каждым пунктом абсолютно согласен, и под каждым распишусь лично. Сам бы посмеялся над этим, но постоянно сталкиваюсь на практике, иногда даже на слезу пробивает.
Как же я давно искал подобную статью.Спасибо автору.Очень нужная информация!
Мне еще очень нравится правило 2×90:
Реализация 90% функционала программы занимает 90% времени.
Реализация остальных 10% занимает еще 90% времени.
Забавные законы, и большинство хоть и смешные и парадоксальные но прямо в точку. Сам программированием лет 5-ть уже занимаюсь, хоть и на уровне любителя, но об этом знаю не по наслышке.
В общем респект за статью, очень порадовала!
Все верно. Особенно с ошибками. Если их не будет, то что же улучшать? Ошибки это двигатель прогресса!!!
Спасибо за интересную статью!!!
Автору респект!
Это точно, ни одной идеальной программы не бывает. «Приложения никогда не готово меньше чем на 90% и никогда больше чем на 95%»- всегда чего нибудь не хватает, а что то лишнее .
как это все знакомо!! Вот еще бы наловчиться использовать – для экономии времени))
Старо как мир, но каждый раз как читаю от души смеюсь
Сейчас читаешь, то смешно. А когда это всё на практике происходит – комп разбить хочется)
Если бы писатели программ использовали эти принципы, то возможно, мы бы сейчас имели хорошие проги. А пока, все проги точно соответствуют описанным пунктам.
Легче изменить спецификацию, чтобы она соответствовала приложению, чем наоборот – это 100% ))
Не все читают и путевые-то тексты,а не то чтобы с ошибками разбираться.Иногда кажется не читают даже то,что они пишут.У меня на форумах такое обнаруживаю.
Можно было бы назвать законами Мерфи о программировании. Первым надо было поставить: нет багов, есть особенности работы программы. Если бы все пользователи это усвоили, то меньше нервничали бы при работе с компьютером.
Чем-то напомнило мне парадоксы Оскара Уайльда, логика и формулировка почти один в один)
Вроде-бы бред, но всё идеально – не к чему придраться.
«Легче изменить спецификацию, чтобы она соответствовала приложению, чем наоборот – это 100%»
В мелких случаях может и так, а вот в крупных нет!
webarter, в мире шизофреников или пидарасов, бред, ставший реальностью… )))
Мне кажется один из самых важных пунктов это выявление ошибок на практике, только она отображает полную картину
Эти правила надо вбивать студентам-программистам с первого дня обучения. И до последнего курса заставлять держать в уме. Моделировать ситуации, при которых эти правила будут проявляться. В итоге уровень кадров значительно повысится.
вы конечно во всём этом правы, но тут есть такие высказывания как будто приложения вообще создавать не стоит, а что делать?
И правда, пока нет ошибок – не пользуются. Ошибки однозначно бывают, просто автор их может не замечать, но для этого и существует юзер, который пользуется приложением. Со временем ошибки исправляют!
Количество трудно-обнаружимых ошибок бесконечно, в отличие от легко-обнаружимых ошибок, которые ограничены по определению.
вот под этим целиком и полностью подпишусь +) я сам не слишком внимателен, постоянно делаю ошибки в коде, но когда начинаю проверять нахожу их, а вот то, что нелегко найти вот постоянно вылезает и вылезает =(
ахах, так оно всё и есть, по поводу ошибок и правда, вечно какие то косяки в прогах, обновления поэтому и выходят, потому что выявляются различные ошибки
а реально написана истинная правда, как не крути но оно так и есть. Даже и задумываться не нужно все и так предельно понятно.
Если после написания программного кода программист не нашел в нем ошибок – это плохой программист.
я считаю, что php самый перспективный язык программирования. и надеюсь, что он будет и дальше развиваться
мне понравились эти законы. Как раз помогут начинающему программисту.
Этот список нужно вешать в компьютерных магазинах, и в магазинах мобильных телефонов.
ЛОЛ
Один из моих друзей всегда так говорити о програмированию веб-сайтов: «Нужно ставить себе исполнимую конечную цель, иначе один сайт можно создавать вечно»
Мне кажется что в интернете кроме как на PHP больше тнигде нормально заработать новечку нельзя(((
Еще бы добавил:
«Только 10% кода, написанного программистом за день – полезны»
На самом деле это так и есть. Вы абсолютно правы.
Программное обеспечение склонно потреблять все доступные ресурсы.
Улыбнуло))) но так и есть на самом деле…. Последнее время все пытаются больше закодить приложение, а его оптимизации вообще забывают… = (
Кинул статью себе в закладки
Программное обеспечение склонно потреблять все доступные ресурсы.
Вот это реальный бич многих программ. Ну ведь были же раньше человеческие программы, не то что сейчас г-но клепают.
да программирование штука классная, вот только задротная сильно, по себе знаю)
Золотые правила!всегда их придерживаюсь
Похоже на законы Мерфи) Похоже на уток, они плавают и не знают про основы ботаники, но они есть!
Я начинающий кодер, и половины еще через себя не пропустил) но некоторые моменты уже узнаю))
Хороший пост улыбнулся!
Да, данные правила работают на все 100%
Могу сказать это на основе своего более чем 10 летнего опыта работы в разработке программ.
Могу добавить:
Если компилятор ругается, значит в коде минимум одна ошибка, если нет — минимум две.
Точно подмеченою. Статья понравилась
Как же это тяжело) пора бы дальше изучать…
Это все действие закона подлости, особенно на демонстрации приложения.
будем знать)) интересненька
Посмеялся
Спасибо)
Если вы выделите в отдельный пункт статьи и назовете меню статьи, то читателей от этого только убавится, потому что все знают, что такое статьи и для кого они держатся на сайте:)
«Любая нетривиальная программа содержит хотя бы одну ошибку.»
с этим я бы поспорил.можно сделать код без ошибок, но программу сделать тривиальной.
Я на C++ могу сделать такую программу
смысл есть, и умножьте на 1000 если только начинаешь
«Пользователи действительно не знают того, чего они хотят от приложения, пока они не попробуют его в действии.»- замените пользователи на клиенты- чаще и блин более напряжно
Автору спасибо за очередной отличный пост) Уже 5 ваших постов прочитал) очень доволен)
забавные законы, за 6 лет работы в программировании встречалось только несколько человек, которые были довольны работой. Обычно. как бы хорошо не было написанно приложение, всем оно не нравится.
Хорошая статья для изучения
Любое приложение устаревает сразу после установки.
Это я подслышал разговор двух вебмастеров. Один другому говорит. Твой сайт уже 20 минутной старости. Точно так же и тут. Сразу установил и старая
Ничего полезного, как программист, я из этой статьи не извлек.
Что правда то правда что не программа так что то в ней не так!!! И еще жалуюсь! Я когда тут сообщение писал два раза какая тореклама высвечивается без моего согласия((
Самый золотой закон программирования: это 80% на этапы разработки, 20% на этапы реализации и отладки!
Такое ощущение, что этим законам программисты (точнее погромисты) специально стараются следовать
Хех) Забавненько! Правдо не особо согласин с этим: Если приложение оказалось полезным, его изменят в следующей версии.. Я лично предпочитаю выдавать самую последнюю версию, только после всех тщательнейших проверок и исправлений.
Даже в серьезных компаниях случаются ошибки в написании программ. Иногда это может обойтись в несколько миллионов единиц.
Пара комментаторов уже предположила, что это «Законы Мерфи». Так это они и есть, только переделаны под слово «приложение». Первый пункт на самом деле звучит так: «Как только проект окончательно принят, он становится устаревшим в смысле своих концепций».
Все верно, и надо всегда помнить о всех этих пунктах, чтобы хоть немного минимизировать эти отрицательные моменты
как-же всеаки нудно эти языки учить
зато как потом приятно писать свои скрипты…