DVOREC.RU
Портал досуга и развлечений

dvorec.ru »





     ПАРАД СТАТЕЙ
     Между нами, девочками
     Мужской разговор
     Любовь и отношения
     Психология
     Секс-новости
     Здоровый образ жизни
     Спортзал
     Дом и семья, дети
     Говорят, что...
     Школа жизни, советы
     Бизнес, карьера, деньги
     Виртуал, Hi-Tech
     Каламбур, ералаш
     Вокруг света
     Братья наши меньшие
     Непознанное
     Авто мир
     ПОЗНАЙ СЕБЯ
     Гороскоп на сегодня
     Знаки Зодиака
     Китайский гороскоп
     Книга Перемен
     Тайна имени
     Толкователь снов
     Книга чисел
     Тесты
     Фэн-Шуй
     Астрология
     Хиромантия
     Другие гороскопы
     КУЛЬТУРА и ИСКУССТВО
     Культура, искусство, истор.
     Видео, кино
     Искусство татуировки
     Неоднозначная реклама
     Объемные рисунки
     Занятные статуи мира
     Другие фотогалереи
     Фотоподборки
     ДОМОВОДСТВО
     Приятного аппетита
     Хозяйке на заметку
     Обустройство, ремонт, уют
     6 соток, дача, сад
     Растения
     Наши домашние животные
     СМЕХ ДА И ТОЛЬКО
     Анекдоты
     Афоризмы
     Веселые четверостишья
     SMS-сообщения
     Истории
     Стихи
     Фото приколы, курьезы
     А знаете ли вы, что...
     Юморительное чтиво
     ДАВАЙ УСТРОИМ ПРАЗДНИК
     Открытки
     Поздравления
     Пожелания
     Тосты
     Розыгрыши
     Фокусы


Виртуал, Hi-Tech

<< Предыдущая статья | В начало | Следующая статья >>



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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор: Игopь Kopcap
Просмотров страницы: 374


Теги: компьютеры, сохранение данных, сохранность информации, программирование, ошибки, безопасность,



Подпишитесь на анонсы статей






<< Предыдущая статья | В начало | Вверх | Следующая статья >>








Лента новостей
01:04   Полторы сотни пассажиров из Москвы застряли в аэропорту Абу-Даби. Они находились в самолете семь часов

00:52   Россиянин устроил заплыв по затопленному Дубаю

00:41   Бывший мэр Ярославля Урлашов подал ходатайство об УДО

00:36   Мужчина засунул в пенис кабель и резинку

00:24   В Android-смартфонах появится зарядка через NFC

00:21   Военкоры узнали об ударе российской авиации по Нью-Йорку

00:15   Полторы сотни пассажиров из Москвы застряли в аэропорту Абу-Даби

00:10   17 апреля: какой праздник сегодня отмечают в России и мире

00:01   ПСЖ разгромил «Барселону» и вышел в полуфинал Лиги чемпионов

23:57   Украину лишили возможности сразу получить деньги России

Все новости

Гороскоп на сегодня

Зодиакальный гороскоп на сегодня 17.04.2024



Тематические фотоподборки

Отрывок из договора с Дъяволом

Модель становится прозрачной и сливается с пейзажем

Компакт-кар. Немцы устроили фотосессию игрушечному Opel Adam
| Другие фотоподборки |







| Блог портала | Администратор | Подписка на рассылки | Карта портала | Вверх страницы |