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