Назначение тренинга
Данный тренинг предназначен для разработчиков программного обеспечения (ПО), использующих платформу OpenEdge для создания и сопровождения информационных бизнес-систем.
Предполагается, что участник тренинга имеет некоторый опыт работы с OpenEdge, или, по крайней мере, знаком с базовыми основами программирования на ABL (на сегодня единственный известный автору базовый курс по программированию на ABL на русском языке – это курс Натальи Генриховны Графеевой и Татьяны Борисовны Помыткиной).
Опыт показывает, что многие разработчики, успешно освоившие базовый курс программирования на ABL и успешно применяющие его в работе, тем не менее, зачастую пишут неэффективный код и регулярно сталкиваются с трудностями при решении типовых проблем программирования.
Кроме того, обычно разработчик использует довольно ограниченное подмножество возможностей ABL, что объясняется конкретными особенностями архитектуры и интерфейса приложения, над которым он работает. Да и вообще это характерно для любого языка, не только для языков программирования. Так, в английском языке более миллиона слов. Образованный человек активно использует только 10 – 20 тысяч слов – то есть не более 2 % (!).
Типичный пример – разработчик традиционного терминального приложения, как правило, совершенно не озабочен вопросами графического интерфейса (GUI), проблемами использования Smart-объектов, или принципами построения распределенной архитектуры.
Мне кажется что этот тренинг будет также важен, а может быть даже более важен для тех кто код поддерживает.
Глубокое знание ABL так же важно для тех, кто занят поддержкой приложений. Чем лучше программист представляет все особенности языка, чем больше он знает типовых уязвимостей и хороших практик, тем быстрее он может отыскать ошибку.
Целями данного тренинга являются:
- Расширить представление разработчика о возможностях OpenEdge ABL
- Научить писать эффективный ABL-код
- Показать современные методы (best practices) решения типовых проблем, возникающих при разработке приложений в среде OpenEdge
- Научить находить уязвимые места в коде и исправлять их