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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


01:26 25.03.2017



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

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



Как улучшить ссылочное ранжирование и направить целевой трафик на веб-сайт.

Как улучшить ссылочное ранжирова...

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

Дверные ручки. Дверная фурнитура...

Качественная дверная фурнитура – залог эстетической привлекательности, удобства и безопасности жилища. Широкий выбор качественных дверных элементов позволяет минимизировать риски проникновения, ...
Forex. Причина неудач!

Forex. Причина неудач!

Статистика такова: 30% участников - НЕ В ПРОИГРЫШЕ, т. е. по 0 или с небольшим +. Из этих 30% - 4% имеют прибыль свыше 50%. Из этих 4% - только 2. 75% сделали себе состояние. Да чтобы стать трейдером ...
Поздний вечер

Поздний вечер

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

Выбор покрывал для детских лагер...

Я являюсь директором детского оздоровительного лагеря. Материальная часть нашего лагеря включает более чем 700 кроватей, каждая из которых должна быть полностью укомплектована качественным постельным ...
Сексуальность на твоей ладони (продолжение 2)

Сексуальность на твоей ладони (п...

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

О портале:

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

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