SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Психология Code Review
                     или
что делать, если в вашей команде есть люди,
       которые "пишут код без багов"




            Алексей Резчиков
                  2011
Обо мне

10 лет программирую за
деньги
4 года тим лид
Много шишек
Просьба к аудитории

 Задавайте вопросы!
О чем я НЕ буду говорить сегодня


 что такое плохой код
 что такое хороший код
 как писать хороший код
 как поставлять качественный продукт
 почему надо проводить Code Review
О чем мы сегодня поговорим


Проблемы связанные с CodeReview
Практические рекомендаций как их
преодолеть
Истории из реальной жизни
Что такое Code Review?

Code review is systematic examination (often as
peer review) of computer source code. It is
intended to find and fix mistakes overlooked in the
initial development phase, improving both the
overall quality of software and the developers'
skills. Reviews are done in various forms such as
pair programming, informal walkthroughs, and
formal inspections.
(Wikipedia)
Проблема №1
Шаг №2
Шаг №3



 Стандарты кодирования
 Правила именования
 Стратегия развития проекта
Шаг №5




Совместное владение
кодом
Шаг №6

                    Code
  Implementation
                   Review




     Deploy         Test
Проблема №2
Автоматизируйте




             Redmine
Инструменты




gerrit
Gerrit Code Review
Подходы к организации

Их очень много
Выбор за вами
Будьте гибкими
Определяем понятия

Разделяйте Code Review и Solution Review
Не пишите код!!!
Немного практики
Ситуация №1

Я пишу код без багов
Чем плохо?
  Совместное владение кодом не работает
  Подрывает командную работу
  Проблемы с тестированием
Что делать?
  Понять причину
  Объяснить что это миф
  «Вернуть в семью»
Ситуация №2

Код должен быть среднего качества
или я отрефакторю потом
Чем плохо?
  Падение дисциплины
  Принцип разбитого окна
Что можно сделать?
   Показать что не бывает «потом»
   Бывает или хорошо или плохо
Ситуация №3

Тут надо все отрефакторить!
Чем плохо?
  Преждевременная оптимизация
  Избыточная сложность
Что можно сделать?
  Примеры преждевременной
  оптимизации
  Избыточная сложность и принципы
  KISS иYAGNI
  То, что просто – легко тестируется
Ситуация №4

"Тимлид не умеет писать транзакции"
Чем плохо?
   Хамство
   Нарушение субординации
   Плохой прецедент для командной
   работы
Что можно сделать?
   «Хирургическое вмешательство»
   Авторитет и субординация
   Арбитраж
Общие советы


Общие правила на видном
месте, понятные всем, с которыми все
согласны
Оценивайте код, а не человека
Оперируйте фактами, а не суждениями
Старайтесь быть предельно точными
Четкий и прозрачный арбитраж
Вопросы

@twincengray



  alex.mcgray@gmail.com




          http://mcgray.com.ua

Weitere ähnliche Inhalte

Was ist angesagt?

Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщикуRina Uzhevko
 
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITБесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITGoIT
 
Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Rina Uzhevko
 
Держим дизайн системы под контролем, используя изолированное юнит-тестировани...
Держим дизайн системы под контролем, используя изолированное юнит-тестировани...Держим дизайн системы под контролем, используя изолированное юнит-тестировани...
Держим дизайн системы под контролем, используя изолированное юнит-тестировани...Ontico
 
Ekaterina Roshchina Top 20
Ekaterina Roshchina Top 20Ekaterina Roshchina Top 20
Ekaterina Roshchina Top 20rit2010
 
2018 11-10 - lviv pm day - req. management fails
2018 11-10 - lviv pm day - req. management fails2018 11-10 - lviv pm day - req. management fails
2018 11-10 - lviv pm day - req. management failsDmitriy Yefimenko
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиковUladzimir Kryvenka
 
Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015
Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015
Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015Alina Dolgikh
 
Разработка через ADD
Разработка через ADDРазработка через ADD
Разработка через ADDSergey Staroletov
 
KPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыKPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыRina Uzhevko
 
7 принципов эффективного тестирования
7 принципов эффективного тестирования7 принципов эффективного тестирования
7 принципов эффективного тестированияak-itconsulting.com
 
юнит тестирование Fork
юнит тестирование Forkюнит тестирование Fork
юнит тестирование ForkSergey Oreshkov
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina TananaevaAlexei Lupan
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаAleksandr Makhomet
 
Александр Калугин Минное поле требований в fixed price проекте
Александр Калугин Минное поле требований в fixed price проектеАлександр Калугин Минное поле требований в fixed price проекте
Александр Калугин Минное поле требований в fixed price проектеТранслируем.бел
 
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QAFest
 
Sef.by'2011 Минное поле требований
Sef.by'2011 Минное поле требованийSef.by'2011 Минное поле требований
Sef.by'2011 Минное поле требованийAlexander Kalouguine
 
Тестирование требований: Зачем - понятно, а вот Как?
Тестирование требований: Зачем - понятно, а вот Как?Тестирование требований: Зачем - понятно, а вот Как?
Тестирование требований: Зачем - понятно, а вот Как?Grigoriy Pechenkin
 
Ігор Лужанський Театр начинается с вешалки или тестирование требований
Ігор Лужанський Театр начинается с вешалки или тестирование требованийІгор Лужанський Театр начинается с вешалки или тестирование требований
Ігор Лужанський Театр начинается с вешалки или тестирование требованийDakiry
 

Was ist angesagt? (19)

Пользователи в помощь тестировщику
Пользователи в помощь тестировщикуПользователи в помощь тестировщику
Пользователи в помощь тестировщику
 
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoITБесплатный вебинар по QA Александра Кузняка от проекта GoIT
Бесплатный вебинар по QA Александра Кузняка от проекта GoIT
 
Есть фича. Помогите протестировать
Есть фича. Помогите протестировать Есть фича. Помогите протестировать
Есть фича. Помогите протестировать
 
Держим дизайн системы под контролем, используя изолированное юнит-тестировани...
Держим дизайн системы под контролем, используя изолированное юнит-тестировани...Держим дизайн системы под контролем, используя изолированное юнит-тестировани...
Держим дизайн системы под контролем, используя изолированное юнит-тестировани...
 
Ekaterina Roshchina Top 20
Ekaterina Roshchina Top 20Ekaterina Roshchina Top 20
Ekaterina Roshchina Top 20
 
2018 11-10 - lviv pm day - req. management fails
2018 11-10 - lviv pm day - req. management fails2018 11-10 - lviv pm day - req. management fails
2018 11-10 - lviv pm day - req. management fails
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиков
 
Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015
Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015
Кирилл Борисов. Code style_checking_v2. PyCon Belarus 2015
 
Разработка через ADD
Разработка через ADDРазработка через ADD
Разработка через ADD
 
KPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемыKPI тестировщиков - особенности и проблемы
KPI тестировщиков - особенности и проблемы
 
7 принципов эффективного тестирования
7 принципов эффективного тестирования7 принципов эффективного тестирования
7 принципов эффективного тестирования
 
юнит тестирование Fork
юнит тестирование Forkюнит тестирование Fork
юнит тестирование Fork
 
Evelina Tananaeva
 Evelina Tananaeva Evelina Tananaeva
Evelina Tananaeva
 
Повышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кодаПовышаем и следим за качеством PHP кода
Повышаем и следим за качеством PHP кода
 
Александр Калугин Минное поле требований в fixed price проекте
Александр Калугин Минное поле требований в fixed price проектеАлександр Калугин Минное поле требований в fixed price проекте
Александр Калугин Минное поле требований в fixed price проекте
 
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
QA Fest 2014. Алексей Лупан. Не тест-кейсы красят тестировщика, а...
 
Sef.by'2011 Минное поле требований
Sef.by'2011 Минное поле требованийSef.by'2011 Минное поле требований
Sef.by'2011 Минное поле требований
 
Тестирование требований: Зачем - понятно, а вот Как?
Тестирование требований: Зачем - понятно, а вот Как?Тестирование требований: Зачем - понятно, а вот Как?
Тестирование требований: Зачем - понятно, а вот Как?
 
Ігор Лужанський Театр начинается с вешалки или тестирование требований
Ігор Лужанський Театр начинается с вешалки или тестирование требованийІгор Лужанський Театр начинается с вешалки или тестирование требований
Ігор Лужанський Театр начинается с вешалки или тестирование требований
 

Andere mochten auch

Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Социология Code Review или что делать, елси ваши тестировщики начали писать т...Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Социология Code Review или что делать, елси ваши тестировщики начали писать т...Oleksiy Rezchykov
 
Владимир Билоненко "Как мы делаем code review"
Владимир Билоненко "Как мы делаем code review"Владимир Билоненко "Как мы делаем code review"
Владимир Билоненко "Как мы делаем code review"Yandex
 
Двухкратный публичный code review, Евгения Фирсова (Яндекс)
Двухкратный публичный code review, Евгения Фирсова (Яндекс)Двухкратный публичный code review, Евгения Фирсова (Яндекс)
Двухкратный публичный code review, Евгения Фирсова (Яндекс)Ontico
 
Developers like winning - gamifying code reviews
Developers like winning - gamifying code reviewsDevelopers like winning - gamifying code reviews
Developers like winning - gamifying code reviewsTzach Zohar
 
Secure Code Reviews
Secure Code ReviewsSecure Code Reviews
Secure Code ReviewsMarco Morana
 
SQADays19 - 50 Слайдов для повышения безопасности вашего сервиса
SQADays19 - 50 Слайдов для повышения безопасности вашего сервисаSQADays19 - 50 Слайдов для повышения безопасности вашего сервиса
SQADays19 - 50 Слайдов для повышения безопасности вашего сервисаKonstantin Zavarov, ICP
 
Построение процесса безопасной разработки - Стачка 2016
Построение процесса безопасной разработки - Стачка 2016Построение процесса безопасной разработки - Стачка 2016
Построение процесса безопасной разработки - Стачка 2016Valery Boronin
 
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуPositive Development User Group
 
SECON'2016. Бушмелев Юрий, Два титановых шарика
SECON'2016. Бушмелев Юрий, Два титановых шарикаSECON'2016. Бушмелев Юрий, Два титановых шарика
SECON'2016. Бушмелев Юрий, Два титановых шарикаSECON
 
How not to run code reviews
How not to run code reviewsHow not to run code reviews
How not to run code reviewsVictor Maliy
 
Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Vlad Styran
 
Secure code
Secure codeSecure code
Secure codeddeogun
 
Dynamic PHP web-application analysis
Dynamic PHP web-application analysisDynamic PHP web-application analysis
Dynamic PHP web-application analysisax330d
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Processgsporar
 
Этичный хакинг или пентестинг в действии
Этичный хакинг или пентестинг в действииЭтичный хакинг или пентестинг в действии
Этичный хакинг или пентестинг в действииSQALab
 
Simplified Security Code Review Process
Simplified Security Code Review ProcessSimplified Security Code Review Process
Simplified Security Code Review ProcessSherif Koussa
 

Andere mochten auch (20)

Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Социология Code Review или что делать, елси ваши тестировщики начали писать т...Социология Code Review или что делать, елси ваши тестировщики начали писать т...
Социология Code Review или что делать, елси ваши тестировщики начали писать т...
 
Gerrit Code Review
Gerrit Code ReviewGerrit Code Review
Gerrit Code Review
 
Владимир Билоненко "Как мы делаем code review"
Владимир Билоненко "Как мы делаем code review"Владимир Билоненко "Как мы делаем code review"
Владимир Билоненко "Как мы делаем code review"
 
Двухкратный публичный code review, Евгения Фирсова (Яндекс)
Двухкратный публичный code review, Евгения Фирсова (Яндекс)Двухкратный публичный code review, Евгения Фирсова (Яндекс)
Двухкратный публичный code review, Евгения Фирсова (Яндекс)
 
Developers like winning - gamifying code reviews
Developers like winning - gamifying code reviewsDevelopers like winning - gamifying code reviews
Developers like winning - gamifying code reviews
 
Secure Code Reviews
Secure Code ReviewsSecure Code Reviews
Secure Code Reviews
 
SQADays19 - 50 Слайдов для повышения безопасности вашего сервиса
SQADays19 - 50 Слайдов для повышения безопасности вашего сервисаSQADays19 - 50 Слайдов для повышения безопасности вашего сервиса
SQADays19 - 50 Слайдов для повышения безопасности вашего сервиса
 
Построение процесса безопасной разработки - Стачка 2016
Построение процесса безопасной разработки - Стачка 2016Построение процесса безопасной разработки - Стачка 2016
Построение процесса безопасной разработки - Стачка 2016
 
Подходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализуПодходы к сигнатурному статическому анализу
Подходы к сигнатурному статическому анализу
 
SECON'2016. Бушмелев Юрий, Два титановых шарика
SECON'2016. Бушмелев Юрий, Два титановых шарикаSECON'2016. Бушмелев Юрий, Два титановых шарика
SECON'2016. Бушмелев Юрий, Два титановых шарика
 
How not to run code reviews
How not to run code reviewsHow not to run code reviews
How not to run code reviews
 
Построение Secure Development Lifecycle
Построение Secure Development Lifecycle Построение Secure Development Lifecycle
Построение Secure Development Lifecycle
 
Secure code
Secure codeSecure code
Secure code
 
Dynamic PHP web-application analysis
Dynamic PHP web-application analysisDynamic PHP web-application analysis
Dynamic PHP web-application analysis
 
Peer Code Review An Agile Process
Peer Code Review An Agile ProcessPeer Code Review An Agile Process
Peer Code Review An Agile Process
 
Этичный хакинг или пентестинг в действии
Этичный хакинг или пентестинг в действииЭтичный хакинг или пентестинг в действии
Этичный хакинг или пентестинг в действии
 
Simplified Security Code Review Process
Simplified Security Code Review ProcessSimplified Security Code Review Process
Simplified Security Code Review Process
 
Code Review
Code ReviewCode Review
Code Review
 
TDD for DB integration
TDD for DB integrationTDD for DB integration
TDD for DB integration
 
Secure Code Review 101
Secure Code Review 101Secure Code Review 101
Secure Code Review 101
 

Ähnlich wie Code review psyhology

Код-ревью в Drupal
Код-ревью в DrupalКод-ревью в Drupal
Код-ревью в DrupalShvetsGroup
 
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосноватьMaksym Bezuglyi
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияSQALab
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыryba4
 
Программистский подход в дизайне
Программистский подход в дизайнеПрограммистский подход в дизайне
Программистский подход в дизайнеПрофсоUX
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всемSQALab
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.ScrumTrek
 
Как воспитать программиста
Как воспитать программистаКак воспитать программиста
Как воспитать программистаMikhail Payson
 
Continuous integration with TeamCity
Continuous integration with TeamCityContinuous integration with TeamCity
Continuous integration with TeamCityAndrei Ivanov
 
Agile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференцииAgile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференцииMikhail Kudanov
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QAFest
 
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...TrueConf__
 
Programmers' Mistakes for Dummies
Programmers' Mistakes for DummiesProgrammers' Mistakes for Dummies
Programmers' Mistakes for DummiesCOTOHA
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла0leGG
 
Правила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил ТабуновПравила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил ТабуновCoub
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомSQALab
 
Agile. Part 1. Extreme Programming
Agile. Part 1. Extreme ProgrammingAgile. Part 1. Extreme Programming
Agile. Part 1. Extreme ProgrammingStephen Vasilevsky
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПОAlexey Lyanguzov
 

Ähnlich wie Code review psyhology (20)

Код-ревью в Drupal
Код-ревью в DrupalКод-ревью в Drupal
Код-ревью в Drupal
 
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работы
 
Программистский подход в дизайне
Программистский подход в дизайнеПрограммистский подход в дизайне
Программистский подход в дизайне
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всем
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Как воспитать программиста
Как воспитать программистаКак воспитать программиста
Как воспитать программиста
 
Pandoras white box
Pandoras white boxPandoras white box
Pandoras white box
 
Continuous integration with TeamCity
Continuous integration with TeamCityContinuous integration with TeamCity
Continuous integration with TeamCity
 
Agile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференцииAgile2014 Orlando обзор конференции
Agile2014 Orlando обзор конференции
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
Развитие ВКС в компании-ритейлере. На примере ООО "Леруа мерлен восток", Алек...
 
Programmers' Mistakes for Dummies
Programmers' Mistakes for DummiesProgrammers' Mistakes for Dummies
Programmers' Mistakes for Dummies
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Правила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил ТабуновПравила отличного разработчика, Михаил Табунов
Правила отличного разработчика, Михаил Табунов
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодом
 
Agile. Part 1. Extreme Programming
Agile. Part 1. Extreme ProgrammingAgile. Part 1. Extreme Programming
Agile. Part 1. Extreme Programming
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПО
 

Mehr von Oleksiy Rezchykov

How we tested our code "Google way"
How we tested our code "Google way"How we tested our code "Google way"
How we tested our code "Google way"Oleksiy Rezchykov
 
TestNG vs JUnit: cease fire or the end of the war
TestNG vs JUnit: cease fire or the end of the warTestNG vs JUnit: cease fire or the end of the war
TestNG vs JUnit: cease fire or the end of the warOleksiy Rezchykov
 
Spring Data: New approach to persistence
Spring Data: New approach to persistenceSpring Data: New approach to persistence
Spring Data: New approach to persistenceOleksiy Rezchykov
 
Почему это не работает (Записки консультанта)
Почему это не работает (Записки консультанта)Почему это не работает (Записки консультанта)
Почему это не работает (Записки консультанта)Oleksiy Rezchykov
 
Recruitment vs Engineering: Кто виноват? и Что делать?
Recruitment vs Engineering: Кто виноват? и Что делать?Recruitment vs Engineering: Кто виноват? и Что делать?
Recruitment vs Engineering: Кто виноват? и Что делать?Oleksiy Rezchykov
 
Bdd with java_using_concordion_and_selenium_ui_tests
Bdd with java_using_concordion_and_selenium_ui_testsBdd with java_using_concordion_and_selenium_ui_tests
Bdd with java_using_concordion_and_selenium_ui_testsOleksiy Rezchykov
 
Light weightj2ee developmentusingspring
Light weightj2ee developmentusingspringLight weightj2ee developmentusingspring
Light weightj2ee developmentusingspringOleksiy Rezchykov
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkOleksiy Rezchykov
 

Mehr von Oleksiy Rezchykov (11)

Boot in Production
Boot in ProductionBoot in Production
Boot in Production
 
How we tested our code "Google way"
How we tested our code "Google way"How we tested our code "Google way"
How we tested our code "Google way"
 
TestNG vs JUnit: cease fire or the end of the war
TestNG vs JUnit: cease fire or the end of the warTestNG vs JUnit: cease fire or the end of the war
TestNG vs JUnit: cease fire or the end of the war
 
Spring Data: New approach to persistence
Spring Data: New approach to persistenceSpring Data: New approach to persistence
Spring Data: New approach to persistence
 
Spring MVC is still alive
Spring MVC is still aliveSpring MVC is still alive
Spring MVC is still alive
 
Почему это не работает (Записки консультанта)
Почему это не работает (Записки консультанта)Почему это не работает (Записки консультанта)
Почему это не работает (Записки консультанта)
 
Recruitment vs Engineering: Кто виноват? и Что делать?
Recruitment vs Engineering: Кто виноват? и Что делать?Recruitment vs Engineering: Кто виноват? и Что делать?
Recruitment vs Engineering: Кто виноват? и Что делать?
 
!Сделай сам
!Сделай сам!Сделай сам
!Сделай сам
 
Bdd with java_using_concordion_and_selenium_ui_tests
Bdd with java_using_concordion_and_selenium_ui_testsBdd with java_using_concordion_and_selenium_ui_tests
Bdd with java_using_concordion_and_selenium_ui_tests
 
Light weightj2ee developmentusingspring
Light weightj2ee developmentusingspringLight weightj2ee developmentusingspring
Light weightj2ee developmentusingspring
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium Framework
 

Code review psyhology

Hinweis der Redaktion

  1. ISO 9001: Не гарантирует качество продукта на выходе, а только стандартизирует процесс
  2. ISO 9001: Не гарантирует качество продукта на выходе, а только стандартизирует процесс
  3. У нас ввели code-review -- А это как? -- Ну как, сидишь, читаешь код, ревёшь...
  4. Sgt drill instructor
  5. Консенсусопоранапрошлыйпроектилипростона Sun вслучае Java
  6. Сложноубежитьлюдейнокаждыйздравыйчеловекможетпонятьпреимещустватакогоподходадлянего лично
  7. визуализация“И кем бы ты ни был, чтоб ты не делал между зимой и летом - весна”
  8. Sgt drill instructor
  9. Static code analyzers CI
  10. "Руками"CrucibleGerrit
  11. Рекомендация  - презентацияАлименков+Солнцев (виситунаснавнутреннемресурседляновыхкоманд)
  12. Защитныйрефлекс, почему? Обижен, боитсякритики?Гуру? Значит collective code ownership  - fail. Этообщийкод. Завтраэтоткодможетпереписатьсянетобой. Завтраегомогут "убрать". Надопониматьчтоделаеткод. Взамодействиенужнотестировать, регрессиюнужнотестировать
  13. Защитныйрефлекс, почему? Обижен, боитсякритики?Гуру? Значит collective code ownership  - fail. Этообщийкод. Завтраэтоткодможетпереписатьсянетобой. Завтраегомогут "убрать". Надопониматьчтоделаеткод. Взамодействиенужнотестировать, регрессиюнужнотестировать
  14. Защитныйрефлекс, почему? Обижен, боитсякритики?Гуру? Значит collective code ownership  - fail. Этообщийкод. Завтраэтоткодможетпереписатьсянетобой. Завтраегомогут "убрать". Надопониматьчтоделаеткод. Взамодействиенужнотестировать, регрессиюнужнотестировать
  15. Защитныйрефлекс, почему? Обижен, боитсякритики?Гуру? Значит collective code ownership  - fail. Этообщийкод. Завтраэтоткодможетпереписатьсянетобой. Завтраегомогут "убрать". Надопониматьчтоделаеткод. Взамодействиенужнотестировать, регрессиюнужнотестировать
  16. Небываетпотом!!! КакуБулгакова "перваяипоследняясвежесть" 
  17. Небываетпотом!!! КакуБулгакова "перваяипоследняясвежесть" 
  18. Небываетпотом!!! КакуБулгакова "перваяипоследняясвежесть" 
  19. Небываетпотом!!! КакуБулгакова "перваяипоследняясвежесть" 
  20. Чтоговорятпропреждевременнуюоптимизацию... ОпирайтесьназдравыйсмыслВсечтосложноскореевсегораньшесломается, егосложнотестировать.
  21. Чтоговорятпропреждевременнуюоптимизацию... ОпирайтесьназдравыйсмыслВсечтосложноскореевсегораньшесломается, егосложнотестировать.
  22. Чтоговорятпропреждевременнуюоптимизацию... ОпирайтесьназдравыйсмыслВсечтосложноскореевсегораньшесломается, егосложнотестировать.
  23. Чтоговорятпропреждевременнуюоптимизацию... ОпирайтесьназдравыйсмыслВсечтосложноскореевсегораньшесломается, егосложнотестировать.
  24. Нехамить!!! Авторитет, субординация, хотьиформальная, людинасвоихместах.Такогонельзядопускать, еслитимлидневсостояниисправитьсястакойситуацией  - еедолженразрулить ПМ. Ноглавное - профессионалыниприкакихобстоятельствахнепереходятналичности - унихвсегдаестьдругиеаргументы.
  25. Нехамить!!! Авторитет, субординация, хотьиформальная, людинасвоихместах.Такогонельзядопускать, еслитимлидневсостояниисправитьсястакойситуацией  - еедолженразрулить ПМ. Ноглавное - профессионалыниприкакихобстоятельствахнепереходятналичности - унихвсегдаестьдругиеаргументы.
  26. Нехамить!!! Авторитет, субординация, хотьиформальная, людинасвоихместах.Такогонельзядопускать, еслитимлидневсостояниисправитьсястакойситуацией  - еедолженразрулить ПМ. Ноглавное - профессионалыниприкакихобстоятельствахнепереходятналичности - унихвсегдаестьдругиеаргументы.