Что такое «правильная программа»?
Добавлено: Гость | 17.12.2008 |
Можно утверждать что понятие «правильная программа» является термином, который определяет наиболее эффективную и простую программу. Как бы там ни было, но любая программа, для того чтобы подойти под критерий «правильной» должна соответствовать минимальному количеству свой, которым она должна соответствовать как полностью, так и отдельными фрагментами.
Перечень свойств «правильных программ».
Если «программа правильная», то не допустить в ней ошибку, или найти таковую проще, чем в «неправильной». Следовательно, алгоритм «правильной программы» проще, чем у «неправильной».
Если провести сравнение аналогичных по выполняемым действиям фрагментов двух различных программ, то у «правильной программы» фрагмент будет меньше и проще, с наименьшим возможным количеством входных данных, а, следовательно, и с меньшим количеством генерируемых результатов. В подобных фрагментах значительно легче не допустить ошибку или исправить уже допущенную.
Еще одним признаком «правильной программы» является тот факт, что любой ее фрагмент будет зависеть от меньшего количества других фрагментов программы. Таким образом, значительно снижается вероятность ошибки, так как для работы таких фрагментов нужно меньше обращений к другим фрагментам программы, а, следовательно, и не нужно вносить изменения при модификации такого фрагмента.
Кроме всего прочего, «правильная программа» будет работать без ошибок в любых ситуациях, даже в тех, которые на первый взгляд кажутся просто невозможными. При этом будет правильно работать не только вся программа в целом, но и каждый ее отдельный фрагмент. В свою очередь «неправильные программы» будут работать правильно только в определенных тестах, предназначенных исключительно для нее.
И, пожалуй, основным признаком «правильной программы» является ее простота, благодаря чему в ней легко разберется практически каждый. Именно на основе этого свойства можно разработать эвристический подход по определению того, «правильная» программа или нет. Так, если для ознакомления и правильной работы с программой не потребуется много времени – то она «правильная», если же для работы с ней необходимо множество комментариев и справочных материалов – программа «неправильная».
Кстати, данное свойство имеет самое прямое отношению к первому свойству «правильных программ», ведь разобраться в программе зачастую необходимо не только тем, кто собирается добавить в программу новые функциональные возможности, но и тем, кто хочет исправить найденную ошибку. В том же случае, если в программе, в которой не известны все функции и возможности ее фрагментов, можно во время исправления имеющейся ошибки допустить несколько новых, даже более серьезных, чем исправленная ошибка, она является «правильной».
На практике зачастую оказывается, что чем тяжелее разобраться в программном коде, тем легче в нем допустить новые ошибки при любых его изменениях. В некотором роде это похоже на то, как учатся использовать любые предметы. Так, если предмет простой, вроде обычного карандаша, то и рисовать им может даже ребенок. В том же случае, если подразумевается использование сложных предметов, типа пассажирского лайнера, то новичок, не имея никакого опыта в его использовании, попросту допустит ошибку, которая приведет к аварии и другим не менее плачевным результатам. Так и при внесении изменений в программу, программный код которой сложен для понимания, можно допустить ошибку, которая сделает эту программу неработоспособной.
Об авторе
www.iphosting.ru (служба новостей хостинга)
Условия перепечатки
При репосте статьи "Что такое «правильная программа»?", пожалуйста укажите источник - сайт http://www.iphosting.ru/ (Платный профессиональный хостинг) — и информацию об авторе.Смотрите также
Языки веб-программирования, что это такое.
Что такое серверные и клиентские языки веб-программирования.
О новшествах HTML5 применении их и улучшении кода
HTML5 прямо сейчас! Не истекло и 10 лет, как W3C обновил язык вывода WEB страниц HTML. Устаревшую версию 4 заместила свежая версия 5, какая в первую очередь разрабатывалась для юзера, потом на вебмастера, а уже следом на разработчиков серфинг-софта. В HTML5 усовершенствована семантика, HTML теги стали более понятливыми. Кроме того были добавлены теги для важных блоков страницы: header, section, article, aside, nav. Header – шапка сайта, section - некая секция, можно присвоить id или class, etc.