webcamp 2016: devops_Андрей Чебукин_Средства обеспечения...

45

Upload: webcamp

Post on 13-Apr-2017

67 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 2: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

О чём• Как собрать команду из

Junior’ов• И чтобы за ними не нужно

было подправлять

Page 3: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Андрей Чебукин• Технический директор : BSP Odessa• Microsoft Student Partner• Соучредитель : The Secret Circle Solutions• Преподаватель : КА ШАГ• MCSD : Windows 8 C#• Интересы : F#, functional programming,

ALM, Azure, UX

Page 4: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 5: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Скобочки

Page 6: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Пробелы

Page 7: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 8: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Bill Wagner

50 specific ways to improve your C#

Second Edition

Page 9: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Jeffrey Richter

Page 10: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 11: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 12: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 13: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Есть ли выход?

Page 14: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Coding Style Guide3 Indentation

3.1 Wrapping Lines When an expression will not fit on a single line, break it up according to these general principles:

• Break after a comma.• Break after an operator.• Prefer higher-level breaks to lower-level breaks.• Align the new line with the beginning of the expression at the same level on the previous line

Example of breaking up method calls:longMethodCall(expr1, expr2, expr3, expr4, expr5);

Examples of breaking an arithmetic expression:PREFER:

var = a * b / (c - g + f) + 4 * z;

BAD STYLE – AVOID:var = a * b / (c - g + f) + 4 * z;

Page 15: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Поучение отцов

Page 16: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Глава 1Мишна 1

«... создавайте ограду для закона.»

Автоматизируйте всё, что можно

автоматизировать

Page 17: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Статический анализ кода

Page 19: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 20: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

FxCop

Page 21: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 22: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 23: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 24: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

RoslynАнализ в реальном

времени

Page 25: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

DemoВстроенные

правила

Page 26: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Сторонние анализаторы•StyleCop Analyzers•FxCop Analyzers•Другие

Page 27: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

AsyncVoid Analyzer

Page 28: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

ErrorProne.NET

Сергей Тепляков

Page 29: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 30: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 31: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

DemoСторонние

анализаторы

Page 32: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 33: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

SonarQube

Page 34: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Ближе к разработчикам

Page 35: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Ближе к разработчикам

Page 36: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Политики фиксации и слияния кода

Page 37: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Feature-branching

Page 38: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Check-In policy•Gated Check-in•Changeset Comments Policy•Work Items•Code Analysis•StyleCop Check-in Policy

Page 39: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Gated check-In

Page 40: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Green repository

1. Фиксация в свой2. Непрерывная

интеграция3. Отправка в общий

Page 41: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Verigreen

Page 42: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде
Page 43: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

DemoBranch policy

Page 44: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

DemoНастройки стиля в Visual Studio 15

Page 45: WebCamp 2016: DevOps_Андрей Чебукин_Средства обеспечения качества и поддержки кода в команде

Спасибо за внимание

fb.com/xperiandritwitter.com/xperiandri

vk.com/[email protected]