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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


01:26 25.03.2017



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

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



Мошенники на сайтах интернет-знакомств

Мошенники на сайтах интернет-зна...

Все мы знаем, что мошенников в наше время хоть пруд пруди, и интернет остается довольно широкой платформой для разного рода мошеннических операций. Ты, наверно, не раз откликался на призыв о помощи в ...
Вкусные рецепты: Тефтели яичные, луковый салат, Солянка мясная

Вкусные рецепты: Тефтели яичные,...

Тефтели яичныеПоджарить лук; Взбить в миске 4 яйца, посолить и вылить жареный лук; Готовую яичницу остудить, пропустить через мясорубку вместе с хлебом, замоченным в молоке и отжатым, и варёной картоф...
Как создать свой гардероб

Как создать свой гардероб

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

Апитерапия (лечение пчелами)

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

Доза-Агро: сельскохозяйственное ...

В настоящее время весьма актуальной является услуга сельскохозяйственного страхования. Она стала настолько популярной в связи с тем, что фермерские и крестьянские хозяйства не готовы нести убытки по р...
Шубы в Милане: как отправиться в тур? Читайте в нашей статье.

Шубы в Милане: как отправиться в...

«Шубы в Милане» это шуб-тур в Италии, который ежегодно становится более известным. Итальянские шубы из Милана это определенно самый элитный сегмент в меховой моде, они идеально подходят для современно...
Техника и оборудованиеРемонт и СтроительствоМедицина и здоровьеЭкономические статьиМода, стильОбразование и НаукаКомпьютеры и СвязьПродукты питания, рецептыДом и семьяКультура и искусствоИнтимная жизнь
Самое интересное:

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

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

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