sharepoint code quality

29
SharePoint Code Quality Станислав Выщепан SharePoint MVP

Upload: -

Post on 14-Jan-2015

273 views

Category:

Technology


1 download

DESCRIPTION

Презентация с доклада на SPDay 14.12.2013. В докладе описываются приемы и инструменты контроля качества кода решений SharePoint, как для заказчика, так и для подрядчика.

TRANSCRIPT

Page 1: SharePoint Code Quality

SharePoint Code QualityСтанислав ВыщепанSharePoint MVP

Page 2: SharePoint Code Quality

Обзор

Проблемы с качеством решений SharePoint• Контроль качества на стороне клиента• Контроль качества на стороне разработчика

Page 3: SharePoint Code Quality

Довольны ли вы качеством решений?• Кто из вас доволен качеством сторонних решений?• Кто из вас считает качество своих решений достаточно хорошим?

Page 4: SharePoint Code Quality

Почему возникают проблемы?

• В SharePoint окружение изменчиво и непредсказуемо• Решения в SharePoint не изолированы друг от друга• Нигде не написано как делать правильно• SharePoint чертовски сложен

Page 5: SharePoint Code Quality

Как это влияет на потребителей

• Нестабильность фермы и потеря функционала• Падение производительности• Сложности при апгрейде

Page 6: SharePoint Code Quality

Как это влияет на разработчиков?

• Высокие затраты на развертывание• Больше переработок• Больше затрат на тестирование с меньшим результатом• Сложность поддержки

Page 7: SharePoint Code Quality

Как повышать качество?

• Тестирование• Ручное – только функциональные сценарии• Нагрузочное – только быстродействие• Автоматическое – дорого

• Анализ решений (инспекции)• Вручную – требуется квалификация• Автоматически – выявляет не все проблемы

Page 8: SharePoint Code Quality

Что дальше?

Проблемы с качеством решений SharePointКонтроль качества на стороне клиента• Контроль качества на стороне разработчика

Page 9: SharePoint Code Quality

Кто заинтересован

Ферма не упадет?

Администратор

Как будем поддерживат

ь и апгрейдить?

Архитектор

Page 10: SharePoint Code Quality

Нельзя просто взять и проверить решение

Page 11: SharePoint Code Quality

Решение SharePoint – черный ящик

Page 12: SharePoint Code Quality

Внутри ящика

• .NET код

• XML файлы: Манифесты, Фичи, Типы, Поля, Шаблоны…

• HTML/ASPX/ASCX/CSS/JS/XSLT

• Ресурсы: картинки, шаблоны документов

• … и еще 100500 других «мелких деталей»

Page 13: SharePoint Code Quality

ДемоВнутри ящика

Page 14: SharePoint Code Quality

SPCAF приходит на помощь

Page 15: SharePoint Code Quality

Кто все эти люди?

Проверяет решение с помощью ~330 правил

Визуализирует связи между частями решения

Считает метрики кода и артефактов

Делает отчет об архитектуре решения

Page 16: SharePoint Code Quality

ДемоSPCAF

Page 17: SharePoint Code Quality

Что дальше?

Проблемы с качеством решений SharePointКонтроль качества на стороне клиентаКонтроль качества на стороне разработчика

Page 18: SharePoint Code Quality

SPCAF в процессе разработки

• Работает прямо в Visual Studio• Работает небыстро, надо запускать отдельно

• Интегрируется с системой сборки• Готовый компонент для TFS• Command-Line Utils для других систем

Page 19: SharePoint Code Quality

Кто заинтересован

Код содержит ошибки?

Разработчик

Код работает?Код

поддерживаемый?

Проблем не будет?

Технический руководитель

Page 20: SharePoint Code Quality

ДемоSPCAF в Visual Studio

Page 21: SharePoint Code Quality

Проблемы

• SPCAF не ориентирован на разработчиков• Правила часто ругаются на «хороший» код• SPCAF стоит 2500EUR• Но есть бесплатный SPCop

Page 22: SharePoint Code Quality

SPCAF Contrib

• Библиотека правил для SPCAF• https://spcafcontrib.codeplex.com/• 33 правила специально для разработчиков• По состоянию на вчера

• Бесплатно работает в SPCOP

Page 23: SharePoint Code Quality

ДемоSPCAF Contrib

Page 24: SharePoint Code Quality

Разница между хорошим и плохим кодом

Page 25: SharePoint Code Quality

Дополнительные инструменты

• Resharper• VisualStudio Code Analysis \ FxCop• StyleCop• SharePoint Software Factory• SharePoint Solution Deployer

Page 26: SharePoint Code Quality

ДемоДополнительные инструменты

Page 27: SharePoint Code Quality

Заключение

Проблемы с качеством решений SharePointКонтроль качества на стороне клиентаКонтроль качества на стороне разработчика

Page 28: SharePoint Code Quality

Ссылки

• http://www.spcaf.com/support/downloads/• https://spcafcontrib.codeplex.com/• https://spsf.codeplex.com/• https://spsd.codeplex.com/• https://stylecop.codeplex.com/• http://www.jetbrains.com/resharper/

Page 29: SharePoint Code Quality

Вопросы?Станислав ВыщепанSharePoint [email protected]://gandjustas.blogspot.com@gandjustas