Главная СПДС СПДС. ПРИНЦИПЫ ПРОГРАММИРОВАНИЯ.

МОИ ПРИНЦИПЫ ПРОГРАММИРОВАНИЯ

Цели, к которым я стремлюсь (но не всегда достигаю, в основном из-за нехватки времени, знаний и лени).

ПОЛЕЗНОСТЬ
Программа должна приносить конкретную пользу (в идеале не только разработчику), не дублировать команды AutoCAD и Express и окна свойств AutoCAD, и повышать производительность в разы.

РАБОТОСПОСОБНОСТЬ
Программа должна работать при любых значениях системных переменных AutoCAD, в любых системах координат, и в идеале, в любых пространствах (модели-листа) и версии AutoCAD.

ТЩАТЕЛЬНАЯ ОТЛАДКА КОДА
Проверять все ветви кода (в том числе на возврат функциями возможного nil), обязательно тестировать программу в разных системах координат, в пустом чертеже, в разных версиях AutoCAD.

УБОРКА МУСОРА
После окончания работы программы (функции) в памяти должны оставаться только самые необходимые переменные и функции, все остальные безжалостно удалять из памяти.

КОММУНАЛЬНАЯ КВАРТИРА
Не забывать о том, что ты не единственный программист для AutoCAD. Применять для имен программ, функций и глобальных переменных свои префиксы, чтобы свести к минимуму риск переопределения их программами других разработчиков. Полная надежность обеспечивается загрузкой программы перед исполнением.

УНИВЕРСАЛЬНОСТЬ
Программа должна обрабатывать все однотипные объекты.

ФУНКЦИОНАЛЬНОСТЬ
Лучше сделать одну программу с 5 опциями для различных режимов, чем 5 отдельных программ. И тебе и пользователю легче запомнить одно имя.

НЕ НАВРЕДИ ПОЛЬЗОВАТЕЛЮ
Все, что делается внутри программы, должно быть прозрачным для пользователя. Обязательно возвращать значения системных переменных, которые были до запуска программы. Исключение - объектная привязка (OSNAP), ее желательно оставлять такой, какой возможно задал пользователь во время работы программы.

ОБРАБОТКА ОШИБОК
Ошибки и прерывания, возникающие в процессе работы программы, следует обязательно обрабатывать, информировать о них пользователя и возвращать окружение в прежнее состояние, сбрасывать подсвеченные объекты, удалять временно созданные объекты и т.п..

ПОМОЧЬ «ЧАЙНИКУ» или «ЗАЩИТА ОТ ДУРАКА»
Следует отлавливать ошибки пользователя при вводе данных (незнание, невнимательность, вредность …) исправлять и/или сообщать о них.

ИНФОРМАТИВНОСТЬ
Работа программы должна сопровождаться соответствующими подсказками, сообщениями и предупреждениями, которые должны быть лаконичны и понятны даже для неподготовленного пользователя, и построены по стандарту AutoCAD.

ПОМОЧЬ «ЛЕНИВОМУ»
Интерфейс программы следует продумывать таким образом, чтобы свести количество нажатий клавиш клавиатуры и/или мыши к достаточному минимуму. Параметры программы по умолчанию следует назначать такими, чтобы они устраивали большинство будущих пользователей. Организуй запуск программы через меню (желательно и иконку).

НАСТРАИВАЕМОСТЬ
Наиболее важные параметры программы должны быть доступны для настройки пользователем в диалоговом окне (или, как исключение, в командной строке). Остальные – в специальных файлах настроек параметров.

НАЛИЧИЕ «СПРАВОЧОГО БЮРО»
Наличие контекстной справочной документации к программе, где описывается назначение программы и область применения, режимы работы, действия пользователя, ограничения и др.

СКОРОСТЬ ВЫПОЛНЕНИЯ
Код программы следует оптимизировать, особенно в критических точках (обработка больших списков и циклов др.).

ИСПРАВЛЕНИЕ ОШИБОК
С благодарностью принимать замечания и предложения пользователей программы, в короткие сроки вносить изменения и дополнения в код, интерфейс, документацию и сообщать об этом пользователям.

ПОСТОЯННО УЧИТЬСЯ
Изучать коды программ других авторов. Народ всегда умней.

ТОЛЬКО НЕОБХОДИМАЯ ДОСТАТОЧНОСТЬ
Вовремя останавливаться, дополняя параметры и режимы работы программы. Не превращать прикладную программу во второй AutoCAD.

НЕ ЗАНИМАТЬСЯ "ВЫЛИЗЫВАНИЕМ"
Лучшее - враг хорошего. Не стоит раз за разом переделывать код работоспособной программы без веских причин. Например, только потому, что узнал более красивый код. Обязательно появятся новые ошибки.

Все что можно сделать с помощью команд AutoCAD – лучше делать, но помнить о том, что гораздо быстрее создаются объекты программными методами (например через функцию entmake).


  при полном или частичном использовании материалов сайта ссылка на источник обязательна ©2002-2012