SlideShare a Scribd company logo
1 of 11
What is code review?
When do you need to use code
review on your project?
Points that might be the reason:
 Too much boilerplate code (any changes are very
  risky)
 External API need to be changed (just little bit)
 Too much too complex business logicrules
 Code smells (again? After it was just refactored)
 High load – only one simple line could f**k up all
  system
 In each development iteration the number of bugs
  is more then in previous one
 when the duck grunted
Bonus points

 Each developer want to refactor everything on his
  own way
 When you fix one bug and you introduce N bugs
  (where N >= 2)
 Only you can changefix your own code
 Too much shitty code
How to code review
Types

 Over-the-shoulder
 Email pass-around
 Pair programming
 Tool-assisted code review
Timeline

 TDD/unit test for critical functionality
 Automatic code analysis – common conventions
 Fish eye – tool similar to github functionality
 UI tests (for regression)
 Performance tests (not to f**k up on mass event)
 Over-the-shoulder code review + elements of pair
  programming – this is really works
Никита Манько “Code review”
Никита Манько “Code review”

More Related Content

What's hot

Automation testing
Automation testingAutomation testing
Automation testingkamilkaide
 
Using formal testing to make better AVR apps
Using formal testing to make better AVR appsUsing formal testing to make better AVR apps
Using formal testing to make better AVR appsRoger Pence
 
API Testing: Answers to Your Top 3 Questions
API Testing: Answers to Your Top 3 QuestionsAPI Testing: Answers to Your Top 3 Questions
API Testing: Answers to Your Top 3 QuestionsQASource
 
Java JIT Improvements Research
Java JIT Improvements ResearchJava JIT Improvements Research
Java JIT Improvements ResearchAdam Feldscher
 
All about PVS-Studio
All about PVS-StudioAll about PVS-Studio
All about PVS-StudioPVS-Studio
 
Async/Await: TPL & Message Pumps
Async/Await: TPL & Message Pumps Async/Await: TPL & Message Pumps
Async/Await: TPL & Message Pumps Particular Software
 
Automated Infrastructure Testing
Automated Infrastructure TestingAutomated Infrastructure Testing
Automated Infrastructure TestingRanjib Dey
 
A Second Look at Unit Testing by Roy Osherove
A Second Look at Unit Testing by Roy OsheroveA Second Look at Unit Testing by Roy Osherove
A Second Look at Unit Testing by Roy OsheroveRoy Osherove
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberKnoldus Inc.
 
Continuous Quality with Postman
Continuous Quality with PostmanContinuous Quality with Postman
Continuous Quality with PostmanPostman
 
Accelerate Quality with Postman - Basics
Accelerate Quality with Postman - BasicsAccelerate Quality with Postman - Basics
Accelerate Quality with Postman - BasicsKnoldus Inc.
 
.NET Fest 2017. Martin Kulov. Treasure Hunt: Finding your application hot spot
.NET Fest 2017. Martin Kulov. Treasure Hunt: Finding your application hot spot.NET Fest 2017. Martin Kulov. Treasure Hunt: Finding your application hot spot
.NET Fest 2017. Martin Kulov. Treasure Hunt: Finding your application hot spotNETFest
 
TDD & Automation
TDD & AutomationTDD & Automation
TDD & AutomationElad Maimon
 
[FullStack NYC 2019] Effective Unit Tests for JavaScript
[FullStack NYC 2019] Effective Unit Tests for JavaScript[FullStack NYC 2019] Effective Unit Tests for JavaScript
[FullStack NYC 2019] Effective Unit Tests for JavaScriptHazem Saleh
 
A second look at Unit Testing with Roy Osherove at Microsoft Swit
A second look at Unit Testing with Roy Osherove at Microsoft SwitA second look at Unit Testing with Roy Osherove at Microsoft Swit
A second look at Unit Testing with Roy Osherove at Microsoft SwitRoy Osherove
 

What's hot (20)

Build Automation in Android
Build Automation in AndroidBuild Automation in Android
Build Automation in Android
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Using formal testing to make better AVR apps
Using formal testing to make better AVR appsUsing formal testing to make better AVR apps
Using formal testing to make better AVR apps
 
API Testing: Answers to Your Top 3 Questions
API Testing: Answers to Your Top 3 QuestionsAPI Testing: Answers to Your Top 3 Questions
API Testing: Answers to Your Top 3 Questions
 
Java JIT Improvements Research
Java JIT Improvements ResearchJava JIT Improvements Research
Java JIT Improvements Research
 
Async/Await Best Practices
Async/Await Best PracticesAsync/Await Best Practices
Async/Await Best Practices
 
All about PVS-Studio
All about PVS-StudioAll about PVS-Studio
All about PVS-Studio
 
Async/Await: TPL & Message Pumps
Async/Await: TPL & Message Pumps Async/Await: TPL & Message Pumps
Async/Await: TPL & Message Pumps
 
Automated Infrastructure Testing
Automated Infrastructure TestingAutomated Infrastructure Testing
Automated Infrastructure Testing
 
Effective C++
Effective C++Effective C++
Effective C++
 
A Second Look at Unit Testing by Roy Osherove
A Second Look at Unit Testing by Roy OsheroveA Second Look at Unit Testing by Roy Osherove
A Second Look at Unit Testing by Roy Osherove
 
API Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+CucumberAPI Automation Testing Using RestAssured+Cucumber
API Automation Testing Using RestAssured+Cucumber
 
Continuous Quality with Postman
Continuous Quality with PostmanContinuous Quality with Postman
Continuous Quality with Postman
 
Accelerate Quality with Postman - Basics
Accelerate Quality with Postman - BasicsAccelerate Quality with Postman - Basics
Accelerate Quality with Postman - Basics
 
.NET Fest 2017. Martin Kulov. Treasure Hunt: Finding your application hot spot
.NET Fest 2017. Martin Kulov. Treasure Hunt: Finding your application hot spot.NET Fest 2017. Martin Kulov. Treasure Hunt: Finding your application hot spot
.NET Fest 2017. Martin Kulov. Treasure Hunt: Finding your application hot spot
 
Does reporting takes lots of time
Does reporting takes lots of timeDoes reporting takes lots of time
Does reporting takes lots of time
 
TDD & Automation
TDD & AutomationTDD & Automation
TDD & Automation
 
[FullStack NYC 2019] Effective Unit Tests for JavaScript
[FullStack NYC 2019] Effective Unit Tests for JavaScript[FullStack NYC 2019] Effective Unit Tests for JavaScript
[FullStack NYC 2019] Effective Unit Tests for JavaScript
 
A second look at Unit Testing with Roy Osherove at Microsoft Swit
A second look at Unit Testing with Roy Osherove at Microsoft SwitA second look at Unit Testing with Roy Osherove at Microsoft Swit
A second look at Unit Testing with Roy Osherove at Microsoft Swit
 
20180828 QA meetup
20180828 QA meetup20180828 QA meetup
20180828 QA meetup
 

Viewers also liked

White box techniques
White box techniquesWhite box techniques
White box techniquesQA Guards
 
Test management
Test managementTest management
Test managementQA Guards
 
MS TFS 2010 - Управление проектами и рабочие элементы
MS TFS 2010 - Управление проектами и рабочие элементыMS TFS 2010 - Управление проектами и рабочие элементы
MS TFS 2010 - Управление проектами и рабочие элементыАлександр Шамрай
 
CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с исполь...
CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с исполь...CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с исполь...
CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с исполь...CodeFest
 
Terms and definitions
Terms and definitionsTerms and definitions
Terms and definitionsQA Guards
 
Новые времена. Трансформация офиса управления проектами
Новые времена. Трансформация офиса управления проектамиНовые времена. Трансформация офиса управления проектами
Новые времена. Трансформация офиса управления проектамиАлександр Шамрай
 
Разработка БД с использованием инструментов MS VS 2010
Разработка БД с использованием инструментов MS VS 2010Разработка БД с использованием инструментов MS VS 2010
Разработка БД с использованием инструментов MS VS 2010Александр Шамрай
 
Внутренние практики использования TFS Microsoft при разработке ПО: методологи...
Внутренние практики использования TFS Microsoft при разработке ПО: методологи...Внутренние практики использования TFS Microsoft при разработке ПО: методологи...
Внутренние практики использования TFS Microsoft при разработке ПО: методологи...Александр Шамрай
 
Разработка баз данных - введение
Разработка баз данных - введениеРазработка баз данных - введение
Разработка баз данных - введениеАлександр Шамрай
 
Software Engineering Knowledge Matrix
Software Engineering Knowledge MatrixSoftware Engineering Knowledge Matrix
Software Engineering Knowledge MatrixOlena Syrota
 
Tsahin test delgertsetseg
Tsahin test delgertsetsegTsahin test delgertsetseg
Tsahin test delgertsetsegsokodeke
 
Антон Золотарев, Екатерина Невельская "По следам SQA days"
Антон Золотарев, Екатерина Невельская "По следам SQA days"Антон Золотарев, Екатерина Невельская "По следам SQA days"
Антон Золотарев, Екатерина Невельская "По следам SQA days"EPAM Systems
 
Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...Александр Шамрай
 
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетовПрактическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетовАлександр Шамрай
 
Эффективный процесс разработки ПО на основе гибких подходов
Эффективный процесс разработки ПО на основе гибких подходовЭффективный процесс разработки ПО на основе гибких подходов
Эффективный процесс разработки ПО на основе гибких подходовАлександр Шамрай
 
Презентация
ПрезентацияПрезентация
Презентацияkulibin
 
Оригинальные решения СМ-Консалт, улучшающие функциональные характеристики инс...
Оригинальные решения СМ-Консалт, улучшающие функциональные характеристики инс...Оригинальные решения СМ-Консалт, улучшающие функциональные характеристики инс...
Оригинальные решения СМ-Консалт, улучшающие функциональные характеристики инс...Александр Шамрай
 

Viewers also liked (20)

White box techniques
White box techniquesWhite box techniques
White box techniques
 
Test management
Test managementTest management
Test management
 
MS TFS 2010 - Управление проектами и рабочие элементы
MS TFS 2010 - Управление проектами и рабочие элементыMS TFS 2010 - Управление проектами и рабочие элементы
MS TFS 2010 - Управление проектами и рабочие элементы
 
CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с исполь...
CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с исполь...CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с исполь...
CodeFest 2013. Козлов А. — Автоматизация тестирования веб-приложений с исполь...
 
Terms and definitions
Terms and definitionsTerms and definitions
Terms and definitions
 
Разработка БД и TFS
Разработка БД и TFSРазработка БД и TFS
Разработка БД и TFS
 
Новые времена. Трансформация офиса управления проектами
Новые времена. Трансформация офиса управления проектамиНовые времена. Трансформация офиса управления проектами
Новые времена. Трансформация офиса управления проектами
 
Разработка БД с использованием инструментов MS VS 2010
Разработка БД с использованием инструментов MS VS 2010Разработка БД с использованием инструментов MS VS 2010
Разработка БД с использованием инструментов MS VS 2010
 
Внутренние практики использования TFS Microsoft при разработке ПО: методологи...
Внутренние практики использования TFS Microsoft при разработке ПО: методологи...Внутренние практики использования TFS Microsoft при разработке ПО: методологи...
Внутренние практики использования TFS Microsoft при разработке ПО: методологи...
 
Разработка баз данных - введение
Разработка баз данных - введениеРазработка баз данных - введение
Разработка баз данных - введение
 
Software Engineering Knowledge Matrix
Software Engineering Knowledge MatrixSoftware Engineering Knowledge Matrix
Software Engineering Knowledge Matrix
 
Tsahin test delgertsetseg
Tsahin test delgertsetsegTsahin test delgertsetseg
Tsahin test delgertsetseg
 
Agile testing
Agile testingAgile testing
Agile testing
 
Tdd Workbook
Tdd WorkbookTdd Workbook
Tdd Workbook
 
Антон Золотарев, Екатерина Невельская "По следам SQA days"
Антон Золотарев, Екатерина Невельская "По следам SQA days"Антон Золотарев, Екатерина Невельская "По следам SQA days"
Антон Золотарев, Екатерина Невельская "По следам SQA days"
 
Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...Эффективное использование Microsoft team system для улучшения процессов разра...
Эффективное использование Microsoft team system для улучшения процессов разра...
 
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетовПрактическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
 
Эффективный процесс разработки ПО на основе гибких подходов
Эффективный процесс разработки ПО на основе гибких подходовЭффективный процесс разработки ПО на основе гибких подходов
Эффективный процесс разработки ПО на основе гибких подходов
 
Презентация
ПрезентацияПрезентация
Презентация
 
Оригинальные решения СМ-Консалт, улучшающие функциональные характеристики инс...
Оригинальные решения СМ-Консалт, улучшающие функциональные характеристики инс...Оригинальные решения СМ-Консалт, улучшающие функциональные характеристики инс...
Оригинальные решения СМ-Консалт, улучшающие функциональные характеристики инс...
 

Similar to Никита Манько “Code review”

High Productivity Web Development Workflow
High Productivity Web Development WorkflowHigh Productivity Web Development Workflow
High Productivity Web Development WorkflowVũ Nguyễn
 
High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014Oliver N
 
Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Andrew Yatsenko
 
Testing with Express, Mocha & Chai
Testing with Express, Mocha & ChaiTesting with Express, Mocha & Chai
Testing with Express, Mocha & ChaiJoerg Henning
 
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Vadym Kazulkin
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 
Quality assurance of large c++ projects
Quality assurance of large c++ projectsQuality assurance of large c++ projects
Quality assurance of large c++ projectscorehard_by
 
Measuring Your Code
Measuring Your CodeMeasuring Your Code
Measuring Your CodeNate Abele
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationLior Tal
 
Introduction to Continuous integration
Introduction to Continuous integrationIntroduction to Continuous integration
Introduction to Continuous integrationliortal53
 
Copilot to Cover: Why AI can't replace developers with robots, but can make l...
Copilot to Cover: Why AI can't replace developers with robots, but can make l...Copilot to Cover: Why AI can't replace developers with robots, but can make l...
Copilot to Cover: Why AI can't replace developers with robots, but can make l...Andy Piper
 
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016Søren Lund
 
Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Babul Mirdha
 
Taking your code to production
Taking your code to productionTaking your code to production
Taking your code to productionmuayyad alsadi
 
The Right Tool for the Right Project
The Right Tool for the Right ProjectThe Right Tool for the Right Project
The Right Tool for the Right ProjectOri Bendet
 
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...VincitOy
 

Similar to Никита Манько “Code review” (20)

Write tests, please
Write tests, pleaseWrite tests, please
Write tests, please
 
High Productivity Web Development Workflow
High Productivity Web Development WorkflowHigh Productivity Web Development Workflow
High Productivity Web Development Workflow
 
High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014High productivity web development workflow - JavaScript Meetup Saigon 2014
High productivity web development workflow - JavaScript Meetup Saigon 2014
 
Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2
 
Testing with Express, Mocha & Chai
Testing with Express, Mocha & ChaiTesting with Express, Mocha & Chai
Testing with Express, Mocha & Chai
 
2007 SAPTech Ed
2007 SAPTech Ed2007 SAPTech Ed
2007 SAPTech Ed
 
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
Github Copilot vs Amazon CodeWhisperer for Java developers at JCON 2023
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
Quality assurance of large c++ projects
Quality assurance of large c++ projectsQuality assurance of large c++ projects
Quality assurance of large c++ projects
 
Measuring Your Code
Measuring Your CodeMeasuring Your Code
Measuring Your Code
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Introduction to Continuous integration
Introduction to Continuous integrationIntroduction to Continuous integration
Introduction to Continuous integration
 
Golang
GolangGolang
Golang
 
Golang
GolangGolang
Golang
 
Copilot to Cover: Why AI can't replace developers with robots, but can make l...
Copilot to Cover: Why AI can't replace developers with robots, but can make l...Copilot to Cover: Why AI can't replace developers with robots, but can make l...
Copilot to Cover: Why AI can't replace developers with robots, but can make l...
 
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016Documenting Code - Patterns and Anti-patterns - NLPW 2016
Documenting Code - Patterns and Anti-patterns - NLPW 2016
 
Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)
 
Taking your code to production
Taking your code to productionTaking your code to production
Taking your code to production
 
The Right Tool for the Right Project
The Right Tool for the Right ProjectThe Right Tool for the Right Project
The Right Tool for the Right Project
 
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
Improving Code Quality In Medical Software Through Code Reviews - Vincit Teat...
 

More from EPAM Systems

“Xcore (library) for android platform” by Uladzimir Klyshevich
“Xcore (library) for android platform” by Uladzimir Klyshevich“Xcore (library) for android platform” by Uladzimir Klyshevich
“Xcore (library) for android platform” by Uladzimir KlyshevichEPAM Systems
 
"Как общаться эффективнее" by Natallia Kapatsevich
"Как общаться эффективнее" by Natallia Kapatsevich"Как общаться эффективнее" by Natallia Kapatsevich
"Как общаться эффективнее" by Natallia KapatsevichEPAM Systems
 
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat "Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat EPAM Systems
 
ДмитрийРадченко, "Brief introduction to dundas"
ДмитрийРадченко, "Brief introduction to dundas"ДмитрийРадченко, "Brief introduction to dundas"
ДмитрийРадченко, "Brief introduction to dundas"EPAM Systems
 
Абрамович Максим, "Rad studio xe4"
Абрамович Максим, "Rad studio xe4"Абрамович Максим, "Rad studio xe4"
Абрамович Максим, "Rad studio xe4"EPAM Systems
 
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei ArtisheuskiMiniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei ArtisheuskiEPAM Systems
 
Reporting куда как-зачем by Anton Stoliar
Reporting   куда как-зачем by Anton StoliarReporting   куда как-зачем by Anton Stoliar
Reporting куда как-зачем by Anton StoliarEPAM Systems
 
Pool and billiards by Olga Nikolaeva
Pool and billiards by Olga NikolaevaPool and billiards by Olga Nikolaeva
Pool and billiards by Olga NikolaevaEPAM Systems
 
The Way of Creating Presentations: Just do it!
The Way of Creating Presentations: Just do it!The Way of Creating Presentations: Just do it!
The Way of Creating Presentations: Just do it!EPAM Systems
 
E-mail Communication: How and Why
E-mail Communication: How and WhyE-mail Communication: How and Why
E-mail Communication: How and WhyEPAM Systems
 
николай фролов, “Gamification“
николай фролов, “Gamification“николай фролов, “Gamification“
николай фролов, “Gamification“EPAM Systems
 
Real time bidding by Danil Melnikov
Real time bidding by Danil MelnikovReal time bidding by Danil Melnikov
Real time bidding by Danil MelnikovEPAM Systems
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”EPAM Systems
 
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...EPAM Systems
 
Agile retrospectives by nick frolov miniq
Agile retrospectives by nick frolov   miniqAgile retrospectives by nick frolov   miniq
Agile retrospectives by nick frolov miniqEPAM Systems
 
Other way to travel by Anna Lukyanenka
Other way to travel by Anna LukyanenkaOther way to travel by Anna Lukyanenka
Other way to travel by Anna LukyanenkaEPAM Systems
 
Computer as a musical instrument by Sergey Moiseychik
Computer as a musical instrument by Sergey MoiseychikComputer as a musical instrument by Sergey Moiseychik
Computer as a musical instrument by Sergey MoiseychikEPAM Systems
 
Сергей Семашко "End to end test: cheap and effective"
Сергей Семашко "End to end test: cheap and effective"Сергей Семашко "End to end test: cheap and effective"
Сергей Семашко "End to end test: cheap and effective"EPAM Systems
 
Alexander Litvinok (software engineer) "bdd wtf"
Alexander Litvinok (software engineer) "bdd wtf"Alexander Litvinok (software engineer) "bdd wtf"
Alexander Litvinok (software engineer) "bdd wtf"EPAM Systems
 

More from EPAM Systems (20)

“Xcore (library) for android platform” by Uladzimir Klyshevich
“Xcore (library) for android platform” by Uladzimir Klyshevich“Xcore (library) for android platform” by Uladzimir Klyshevich
“Xcore (library) for android platform” by Uladzimir Klyshevich
 
"Как общаться эффективнее" by Natallia Kapatsevich
"Как общаться эффективнее" by Natallia Kapatsevich"Как общаться эффективнее" by Natallia Kapatsevich
"Как общаться эффективнее" by Natallia Kapatsevich
 
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat "Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
"Connections: Что общего у Шотландии и Дональда Трампа?" by Yevgeniy Rozenblat
 
ДмитрийРадченко, "Brief introduction to dundas"
ДмитрийРадченко, "Brief introduction to dundas"ДмитрийРадченко, "Brief introduction to dundas"
ДмитрийРадченко, "Brief introduction to dundas"
 
Абрамович Максим, "Rad studio xe4"
Абрамович Максим, "Rad studio xe4"Абрамович Максим, "Rad studio xe4"
Абрамович Максим, "Rad studio xe4"
 
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei ArtisheuskiMiniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
Miniq 11: Time management by Anton Zolotarev & Andrei Artisheuski
 
Reporting куда как-зачем by Anton Stoliar
Reporting   куда как-зачем by Anton StoliarReporting   куда как-зачем by Anton Stoliar
Reporting куда как-зачем by Anton Stoliar
 
Pool and billiards by Olga Nikolaeva
Pool and billiards by Olga NikolaevaPool and billiards by Olga Nikolaeva
Pool and billiards by Olga Nikolaeva
 
The Way of Creating Presentations: Just do it!
The Way of Creating Presentations: Just do it!The Way of Creating Presentations: Just do it!
The Way of Creating Presentations: Just do it!
 
E-mail Communication: How and Why
E-mail Communication: How and WhyE-mail Communication: How and Why
E-mail Communication: How and Why
 
николай фролов, “Gamification“
николай фролов, “Gamification“николай фролов, “Gamification“
николай фролов, “Gamification“
 
Real time bidding by Danil Melnikov
Real time bidding by Danil MelnikovReal time bidding by Danil Melnikov
Real time bidding by Danil Melnikov
 
Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”Чурюканов Вячеслав, “Code simple, but not simpler”
Чурюканов Вячеслав, “Code simple, but not simpler”
 
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
Демидюк Павел , “Continuous integration with the real traffic light in m&e of...
 
Agile retrospectives by nick frolov miniq
Agile retrospectives by nick frolov   miniqAgile retrospectives by nick frolov   miniq
Agile retrospectives by nick frolov miniq
 
Other way to travel by Anna Lukyanenka
Other way to travel by Anna LukyanenkaOther way to travel by Anna Lukyanenka
Other way to travel by Anna Lukyanenka
 
Computer as a musical instrument by Sergey Moiseychik
Computer as a musical instrument by Sergey MoiseychikComputer as a musical instrument by Sergey Moiseychik
Computer as a musical instrument by Sergey Moiseychik
 
Сергей Семашко "End to end test: cheap and effective"
Сергей Семашко "End to end test: cheap and effective"Сергей Семашко "End to end test: cheap and effective"
Сергей Семашко "End to end test: cheap and effective"
 
Alexander Litvinok (software engineer) "bdd wtf"
Alexander Litvinok (software engineer) "bdd wtf"Alexander Litvinok (software engineer) "bdd wtf"
Alexander Litvinok (software engineer) "bdd wtf"
 
Dvcs overview
Dvcs overviewDvcs overview
Dvcs overview
 

Никита Манько “Code review”

  • 1.
  • 2.
  • 3. What is code review?
  • 4. When do you need to use code review on your project?
  • 5. Points that might be the reason:  Too much boilerplate code (any changes are very risky)  External API need to be changed (just little bit)  Too much too complex business logicrules  Code smells (again? After it was just refactored)  High load – only one simple line could f**k up all system  In each development iteration the number of bugs is more then in previous one  when the duck grunted
  • 6. Bonus points  Each developer want to refactor everything on his own way  When you fix one bug and you introduce N bugs (where N >= 2)  Only you can changefix your own code  Too much shitty code
  • 7. How to code review
  • 8. Types  Over-the-shoulder  Email pass-around  Pair programming  Tool-assisted code review
  • 9. Timeline  TDD/unit test for critical functionality  Automatic code analysis – common conventions  Fish eye – tool similar to github functionality  UI tests (for regression)  Performance tests (not to f**k up on mass event)  Over-the-shoulder code review + elements of pair programming – this is really works