![]() |
#6 |
Заноза в заднице
|
И мои пять копеек...
1. Скрипты пишу в Visual Studio 2010. При этом никакой специальный тип проекта и CRM-ные надстройки не использую. Все скрипты храню в созданном для этого пустом проекте веб-приложения.
2. Для удобства IntelliSense пользуюсь старым способом: из SDK вытащил файл справочника XrmPageTemplate.js, поместил его в проект, а в создаваемых файлах скриптов даю ссылку первой строкой в таком виде: X++: /// <reference path="\ISReferences\XrmPageTemplate.js" /> 4. С отладкой в самой VS естественно никак, поэтому для отладки скриптов держим тестовый сервер, который в принципе является копией рабочего. Основной инструмент отладки - Средства Разработчика Internet Explorer (вызывается по нажатии F12) плюс алерты там, где возникает необходимость отследить что-то в контрольных точках без отладки. 5. После того, как скриптов становится много - выделяю наиболее употребимые методы с обобщениями и разного рода предварительными проверками в общий класс, типа Basic, в котором со временем набралось масса нужных функций, типа получение значений атрибутов полей, с проверкой типа возвращаемого значения и однозначным возвратом, который не принуждает устраивать кучу проверок по ходу скриптов, также выделил отдельно функцию присвоения значения атрибута с setSubmitMode, ну и прочее разное, что встречается часто и повторяется. 6. Ну и работу со скриптами постоянно веду: если где-то что-то приходится читать после создания и применения, ну там ошибка какая или изменения надо внести - тотчас реагирую на желание что-то упростить или сделать более удобочитаемым. Определения названий полей выношу на верхний уровень, чтобы не искать их по ходу скрипта, а сначала видеть, какие имена атрибутов используются. Стараюсь искать какие-нибудь готовые фреймворки в сети, смотрю, что в них есть полезного, какие приемы используются другими разработчиками в тех или иных ситуациях.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! |
|
|
За это сообщение автора поблагодарили: Roman08 (1). |
|
|