В наши дни программистам доступен очень широкий выбор редакторов кода, от простейших текстовых редакторов до самых экзотических средств разработки. И программисты принимают разные решения. Кто-то является сторонником IDE Toad. Они принадлежит к числу типичных пользователей, которые знают всего 10% всех функций и кнопок, но интенсивно используют их в своей работе. Кто-то, напротив, предпочитает называть себя «чудаком, предпочитающим писать программы PL/SQL в простейшем текстовом редакторе. И если и пользоваться какими-то удобствами, то разве что автоматической расстановкой отступов в коде, а также цветовым выделением ключевых слов, комментариев, литералов и переменных».
Современные редакторы для программистов не ограничиваются расстановкой отступов и цветовым выделением ключевых слов; они также поддерживают графическую отладку, автоматическое завершение ключевых слов, просмотр списка подпрограмм и пакетов в процессе ввода имени, отображение параметров подпрограмм и выделение позиции, в которой компилятор обнаружил ошибку. Некоторые редакторы также поддерживают «гиперссылки» для быстрого просмотра объявлений переменных и подпрограмм. Впрочем, все эти функции характерны для большинства компилируемых языков. Уникальность PL/SQL заключается в том, что исходный код хранимых программ перед компиляцией и выполнением должен быть загружен в базу данных. Для загрузки кода, хранящегося в базе, программист обычно должен обладать достаточным уровнем разрешений. Естественно, сразу же возникает ряд организационных вопросов:
- Как и где программист находит «оригинал» хранимой программы?
- Хранится ли код на диске или существует только в базе данных?
- Как и с какой частотой должно выполняться резервное копирование?
- Как организовать доступ к коду для нескольких разработчиков? А именно существует ли система контроля версий?
На эти вопросы следует ответить до начала разработки приложения — лучше всего приняв решение о том, какие программные инструменты должны делать все это за вас. Не существует единого набора инструментов или методологий, оптимального для всех групп разработки, хотя я всегда храню «оригинал» исходного кода в файлах — использовать реляционную СУБД в качестве хранилища программного кода не рекомендуется. В следующем разделе я покажу, как при помощи SQL*Plus выполняются многие основные операции разработки PL/SQL. Эти же операции также можно выполнять и в IDE.