SlideShare a Scribd company logo
SharePoint Code Quality
Станислав Выщепан
SharePoint MVP
Обзор
Проблемы с качеством решений SharePoint
• Контроль качества на стороне клиента
• Контроль качества на стороне разработчика
Довольны ли вы качеством решений?
• Кто из вас доволен качеством сторонних решений?
• Кто из вас считает качество своих решений достаточно хорошим?
Почему возникают проблемы?
• В SharePoint окружение изменчиво и непредсказуемо
• Решения в SharePoint не изолированы друг от друга
• Нигде не написано как делать правильно
• SharePoint чертовски сложен
Как это влияет на потребителей
• Нестабильность фермы и потеря функционала
• Падение производительности
• Сложности при апгрейде
Как это влияет на разработчиков?
• Высокие затраты на развертывание
• Больше переработок
• Больше затрат на тестирование с меньшим результатом
• Сложность поддержки
Как повышать качество?
• Тестирование
• Ручное – только функциональные сценарии
• Нагрузочное – только быстродействие
• Автоматическое – дорого

• Анализ решений (инспекции)
• Вручную – требуется квалификация
• Автоматически – выявляет не все проблемы
Что дальше?
Проблемы с качеством решений SharePoint
Контроль качества на стороне клиента
• Контроль качества на стороне разработчика
Кто заинтересован
Ферма не
упадет?
Администратор

Как будем
поддерживать
и апгрейдить?
Архитекто
р
Нельзя просто взять и проверить
решение
Решение SharePoint – черный ящик
Внутри ящика
• .NET код
• XML файлы: Манифесты, Фичи,
Типы, Поля, Шаблоны…
• HTML/ASPX/ASCX/CSS/JS/XSLT
• Ресурсы: картинки, шаблоны документов
• … и еще 100500 других «мелких деталей» 
Демо
Внутри ящика
SPCAF приходит на помощь
Кто все эти люди?

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

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

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

Делает отчет об
архитектуре
решения
Демо
SPCAF
Что дальше?
Проблемы с качеством решений SharePoint
Контроль качества на стороне клиента
Контроль качества на стороне разработчика
SPCAF в процессе разработки
• Работает прямо в Visual Studio
• Работает небыстро, надо запускать отдельно

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

Код содержит
Разработчик
ошибки?

Код работает?
Код
Технический
поддерживаемыйруководитель
?
Проблем не
будет?
Демо
SPCAF в Visual Studio
Проблемы
• SPCAF не ориентирован на разработчиков
• Правила часто ругаются на «хороший» код
• SPCAF стоит 2500EUR
• Но есть бесплатный SPCop
SPCAF Contrib
• Библиотека правил для SPCAF
• https://spcafcontrib.codeplex.com/
• 33 правила специально для разработчиков
• По состоянию на вчера

• Бесплатно работает в SPCOP
Демо
SPCAF Contrib
Разница между хорошим и плохим
кодом
Дополнительные инструменты
• Resharper
• VisualStudio Code Analysis  FxCop
• StyleCop
• SharePoint Software Factory
• SharePoint Solution Deployer
Демо
Дополнительные инструменты
Заключение
Проблемы с качеством решений SharePoint
Контроль качества на стороне клиента
Контроль качества на стороне разработчика
Ссылки
• 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/
Вопросы?
Станислав Выщепан
SharePoint MVP
gandjustas@hotmail.com
http://gandjustas.blogspot.com
@gandjustas

More Related Content

PPT
Кому следует писать автоматические тесты?
PPTX
Фокус тест
PPTX
Повышаем надёжность тестов через JavaScript
PDF
Средства автоматизации тестирования десктопных приложений. Сравнительный анализ
PPT
Тестирование инсталляторов
PPT
Станислав Косарев - Автоматизация тестирования десктопных приложений. Как и п...
PPTX
Test Automation Wargaming SQA Days 17
PDF
Тестировщик в Agile - кто он?
Кому следует писать автоматические тесты?
Фокус тест
Повышаем надёжность тестов через JavaScript
Средства автоматизации тестирования десктопных приложений. Сравнительный анализ
Тестирование инсталляторов
Станислав Косарев - Автоматизация тестирования десктопных приложений. Как и п...
Test Automation Wargaming SQA Days 17
Тестировщик в Agile - кто он?

What's hot (20)

PPT
Continuous Integration для тестировщиков
PPTX
Автоматизация тестирования ролей и привилегий
PPTX
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
PPTX
Qa Automation - отбрасываем лишнее и тестируем суть
PPSX
История HERE Maps for Windows: меняемся не изменяя качеству
PPTX
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
PPTX
Способы организаций больших Java проектов по Автоматизированному тестированию
PPTX
Автоматическое тестирование Web api
PPT
Новый процесс тестирования на "старом" проекте
PPTX
Continuous Integration для QA
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
PPTX
10 принципов автоматизации, которые я не предам
PDF
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
PPTX
Автоматизация тестирования: доступна каждому или удел избранных?
PDF
Автоматическое тестирование. Моя система
PDF
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
PPTX
Андрей Сильчук: "Автоматическое тестирование".
PPTX
Об автоматическом тестировании бэкенда в Media markt
PPT
CQRS. Event Sourcing. Особенности тестирования
PPTX
Devprom ALM - платформа для поддержки процессов разработки
Continuous Integration для тестировщиков
Автоматизация тестирования ролей и привилегий
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Qa Automation - отбрасываем лишнее и тестируем суть
История HERE Maps for Windows: меняемся не изменяя качеству
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Способы организаций больших Java проектов по Автоматизированному тестированию
Автоматическое тестирование Web api
Новый процесс тестирования на "старом" проекте
Continuous Integration для QA
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
10 принципов автоматизации, которые я не предам
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
Автоматизация тестирования: доступна каждому или удел избранных?
Автоматическое тестирование. Моя система
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
Андрей Сильчук: "Автоматическое тестирование".
Об автоматическом тестировании бэкенда в Media markt
CQRS. Event Sourcing. Особенности тестирования
Devprom ALM - платформа для поддержки процессов разработки
Ad

Similar to SharePoint Code Quality (20)

PPTX
Лучшие практики на практике
PDF
Разработка качественного ПО
PDF
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
PPTX
IT people
PPT
Юрий Цыганенко, QA как услуга
PPTX
О фреймворках Backend conf 2016
PDF
О фреймворках / Роман Ивлиев (Банки.ру)
PPTX
Автоматизация тестирования ПО на редких платформах
PPTX
Что DevOps должен знать про статический анализ кода?
PPTX
Automation Overview
PPTX
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
PPTX
Практические аспекты организации процесса тестирования в государственных учре...
PPTX
Практические аспекты организации процесса тестирования в государственных учре...
PPTX
Инструменты автоматизации тестирования - дефективные
PPTX
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
PPTX
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
PDF
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
PPTX
AgileCamp'12 Нижний Новгород: Введение
PDF
Профессии в IT
PPTX
В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...
Лучшие практики на практике
Разработка качественного ПО
Tech Talks @NSU: Рассказ о разных профессиях в IT-индустрии, или почему не вс...
IT people
Юрий Цыганенко, QA как услуга
О фреймворках Backend conf 2016
О фреймворках / Роман Ивлиев (Банки.ру)
Автоматизация тестирования ПО на редких платформах
Что DevOps должен знать про статический анализ кода?
Automation Overview
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...
Инструменты автоматизации тестирования - дефективные
В.Денисенков - Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
В.Денисенков Семь раз отмерь. Все что надо знать о выборе подрядчиков, прог...
Как Mail.Ru и AT Consulting перевели профили абонентов Beeline на Tarantool /...
AgileCamp'12 Нижний Новгород: Введение
Профессии в IT
В.Денисенков. На что обратить внимание при выборе подрядчика и как определить...
Ad

More from Stas Vyschepan (7)

PPTX
Вычисление бета-коэффициента и ожидаемой ставки доходности капитала в модели ...
PPTX
Share point 2016 Что нового
PPTX
PowerBI — новые возможности анализа данных в облаке
PPTX
Разработка веб-приложений с помощью TypeScript
PPTX
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
PPTX
Искусство управления SharePoint
PPTX
SharePoint Claims Based Auth
Вычисление бета-коэффициента и ожидаемой ставки доходности капитала в модели ...
Share point 2016 Что нового
PowerBI — новые возможности анализа данных в облаке
Разработка веб-приложений с помощью TypeScript
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...
Искусство управления SharePoint
SharePoint Claims Based Auth

SharePoint Code Quality