пятница, 26 апреля 2013 г.

[prog] Errare humanum est. Или почему ошибки будут в программах всегда...

...на простом жизненном примере.

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

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

Программирование -- это способ воплощения чьих-то замыслов в виде работающего программного кода. Ключевые слова в этом определении специально выделены. Код должен быть работающим, что означает, что в нем должны быть отражены все необходимые детали. Тогда как замысел в принципе не может содержать всех деталей. Хотя бы вот из-за таких провалов в памяти :) А отсутствие деталей на этапе разработки кода как раз и приводит к ошибкам, т.е. неправильному поведению программы, когда возникает ситуация, про которую забыли где-то по дороге.

Комментариев нет: