Как программисту не оступиться? Предусмотреть ошибку!

Из серии «Парадоксы программирования» Взбирается по крутому склону альпинист. Представляете, что будет, если он оступится, а страховочный трос подведет? Представили? Не успели? А он уже долетает. Дно пропасти совсем близко…

Стоп, простите, я имел в виду — программист, и не взбирается, а сидит. Двигается только мышка в его руке. «Программист — это совсем другое дело», — скажете Вы. Но думаете, ему оступиться негде? Есть! И в гораздо большей степени, чем альпинисту. Сбой компьютера, потеря информации, вкравшаяся в программу ошибка, завалившаяся система… Всего не перечислишь. Только до дна пропасти он не долетит. На пути встретит отдел кадров. А там уж с ним разберутся. Если до отдела кадров не долетит, то до крупных неприятностей — это точно. По крайней мере, мелкие всегда гарантированы.

Но не будем так мрачно. Есть элементарные действия, которые позволяют избежать такого исхода. Рассмотрим их.

1. Делайте регулярные копии своих работ или убедитесь, что они делаются автоматически (я бы подстраховался сам).

2. При копировании важной информации из одного окна в другое лучше, чтобы окно-приемник было пустым. Тогда Вы никогда не перепутаете, из какого окна в какое копировать. (Представьте, что во втором окне предыдущая копия информации, а Вы на какой-то момент отвлеклись и случайно переместили мышку. И первое окно в Вашем сознании вдруг стало вторым, а второе — первым. ) Случаи, когда копия затирала оригинал, у меня в практике были. Один раз я даже такое сделал сам.

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

На практике лучше не иметь эти ярлычки рядом. В крайнем случае временно переместите второй, чтобы случайно на него не нажать, или удалите! Потом восстановите. Зато Вы будете уверены, что проработали с тем, что надо. У меня была такая проблема. Надо было в десяти директориях запустить модуль М1, а рядом находился модуль М. Видимых различий при их запуске не наблюдалось. Я действовал быстро, но на пятом запуске я поймал себя на том, что запускаю, как обычно, модуль М, а не М1, который был временным. Сколько раз я уже ошибся? Этого отследить простым путем я не мог. Поэтому я временно избавился от присутствия модуля М и провел всю работу заново.

4. Не загружайте мозги лишним! Если надо ввести какой-то оператор в программу или нужную команду, то лучше, если возможно, скопировать ее из уже отлаженного блока, чем набирать заново. Элементарная ошибка при вводе может дорого обойтись! У меня бывали проблемы и с одним единственным словом, которое я каким-то чудом не смог набрать правильно. То буква не на том регистре, то цифра пропущена. А мозги уже решают следующую проблему и всецело доверяют рукам — казалось бы, простое дело. Старался я, старался, потом плюнул (не на монитор, конечно), взял и скопировал. Проблемы испарились.

5. Защищайте места расположения важной информации от случайного доступа, да и своего собственного тоже. Опишу забавный случай. Звонит мне бывший коллега-системщик с прежнего места работы и заявляет, что неожиданно перестала работать крупная графическая система. А без нее нельзя прочитать несколько тысяч моделей, запроектированных в течение ряда лет. Авария ни с чем на связывается. Вечером все работало, утром не запускается. Полтора дня уже простояли. Начал думать. Анализирую сообщение программы. Все говорит за то, что пропал доступ к директории С. Задаю по телефону вопросы:

— Директория «А» на месте? — Да. — Директория «В»? — На месте. — Директории «С»? — Тоже. — А что в директории «С»?

Он называет. Все правильно. Не подкопаешься. И не работает. Прерываемся на обед. Потом начинаю опять пытать насчет директорий, только в обратном порядке. «Зачем? — спросите Вы. — Ведь уже все ясно!» А как раз при обратном рассмотрении и выявляется, причем совершенно случайно, что директория «С» оказалась внутри директории «В», а не рядом, где ей положено быть.

Чьи-то ловкие руки случайно подцепили мышкой «С» и неосознанно закинули ее внутрь «В». Этими руками могли вполне быть и руки моего коллеги-системщика. Работал на клавиатуре он быстро, а мышкой пользовался стремительно. Да и у меня самого бывали аналогичные случаи. Самое лучшее — это запретить всеобщий доступ к таким тонким местам. Если невозможно, то ограничить только чтением. Но не всегда это применимо. Если из программы в директорию идет запись? Ну, тут уж думайте сами. Выкрутиться всегда можно. Надо не наказывать человека за ошибку (если нашли, конечно, кого наказывать), а ликвидировать саму возможность ошибки.

6. Никогда не подменяйте программно созданные форматы данных ручной компоновкой! Пусть даже их составить легко и просто. Был у меня такой случай. Из банка пришла дискета с очередной информацией, которую надо было ввести в нашу систему. Бухгалтер вставлял дискету в компьютер, вызывал программу и через минуту имел на экране необходимые данные. Так же он поступил и на этот раз. Однако через минуту, посмотрев на экран, он в ужасе схватился за телефонную трубку. Я появился перед экраном через две. У меня все похолодело внутри. Все фамилии нашей огромной базы данных были заменены на одну единственную. Не буду называть какую, но я могу забыть свою собственную, а эту, пожалуй, не забуду никогда. Полтора дня ушло на восстановление. Заменены были не только фамилии, но и многие личные данные, включая и зарплату.

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

7. В заключении хочется сказать — будьте осторожны с промышленными базами данных. Никогда при отладке не подключайтесь к ним! Вы можете забыть вернуться к отладочной базе, и тогда… В крайнем случае, если необходимо проверить что-то именно на промышленной базе и нет никакой возможности сделать это на ее копии, призовите на помощь коллегу. Вы при нем подключитесь, а отключиться он Вам поможет.

Так вот, чтобы ваши программы творили поменьше лишних чудес, пользуйтесь этими несложными правилами. Они вас защитят от многих напастей, о которых вы и знать не будете. А что альпинист? Пускай себе взбирается, но оступиться у него шансов теперь гораздо меньше.


01:26 25.03.2017



Отзывы и комментарии
Ваше имя (псевдоним):
Проверка на спам:

Введите символы с картинки:



Как правильно выбрать машину для города

Как правильно выбрать машину для города

Вы житель большого мегаполиса, не знаете, какую выбрать машину для города, мы поможем вам сделать правильный выбор! Бесполезно спорить с утверждением, что машина сегодня – это не предмет роскоши, а не...
Квартира посуточно или гостиничный номер?

Квартира посуточно или гостиничный номер?

В современном мире, когда многие должности связаны с постоянными разъездами и командировками, людям нужно где-то останавливаться пожить или хотя бы переночевать. И перед таким откомандированным куда-л...
Современный психолог - психоаналитик в Санкт-Петербурге

Современный психолог - психоаналитик в Санкт-Петербу...

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

Дальнобойщик.

Жизнь дальнобойщика интересна- путешествие на колесах в разные страны и города. По дороге можно любоваться красивыми пейзажами, которые можно запечатлеть фотоаппаратом. Погода меняется прям на гла...
Кто был первым российским историком и почему у него была репутация «вольнодумца»?

Кто был первым российским историком и почему у него ...

История… Тысячелетиями память о минувшем передавалась из поколения в поколение в виде устных преданий, былин, песен. С появлением письменности знания о прошлом стали записываться. Великий труд...
Дизель-генератор: особенности и выгода от аренды оборудования

Дизель-генератор: особенности и выгода от аренды обо...

Довольно часто перед строителями удаленных объектов, организаторами различных выездных мероприятий или особых событий встает вопрос об обеспечении некоторой территории электричеством. Запасные или до...
Стоит прочесть

Тату надписи. Самое распространенное направление в

Среди колоссального разнообразия татуировок, всё больше и больше притягивают внимание татуировки над...

Кто они – наши учителя?

Мы учимся всю жизнь, жадно хватая опыт каждого мига существования, складывая результаты учебы на ров...

Автоматический полив комнатных растений

Привет всем. Вернулся недавно из отпуска и снова выкинул один из цветов вполне мирно обитавший р...

Сравниваем провод СИП и АС.

Многие интересуются, почему самонесущий провод СИП пришел на замену проводу АС, который многие десят...

Украшение для офиса

Когда компании проводят корпоративные психологические тренинги, одним из пунктов общего тестирования...

Какие парусные суда были самыми быстрыми? Чайные к

К началу 19-го века чай стал в Европе напитком привычным, повсеместно распространенным и везде востр...

Как это было? Как мы в детстве бутылки сдавали

На картине как раз этот самый прием посуды и изображен, и вывеска соответствующая (рассмотреть крупн...

Надежность гидравлических тележек

Гидравлическая тележка – специализированное складское оборудование, используемое для перевозки грузо...

Чем полезно масло чайного дерева?

Прошлым летом подруга подарила мне крем-гель с маслом чайного дерева, флакончик масла чайного дерева...

Что приготовить из кабачков?

Кабачки имеют отличные вкусовые качества, прекрасно подходят для детского и диетического питания и п...



Развивая портал:

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

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