SlideShare a Scribd company logo
1 of 52
Download to read offline
Code
Review
May 2015
@hakansaglam
Hakan Saglam
developing since 2000
doing code review since 2004
software developer @ havelsan
lead software developer @ oytek
project manager @ software ag
technical coordinator @ sony
solution architect @ sony
head of mobile development @ peak games
THE USUAL SUSPECTS
by Matt Owen
What is code review?
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.
CODE INSPECTION
INTRODUCED BY MICHAEL FAGAN IN 1976
CODE TEST
CODE TESTREVIEW
The
reviewer
and the
author
are a
team
Why should we do code review?
one hour
of inspection
20 hours
of testing
82 hours
rework
Each hour of inspection saved 20 hours of testing and
82 hours of rework effort had the defects found by
inspection remained in the released products.
If we do review at the earlier
stage, the cost to fix this will be
less. It is 2400% cheaper
to fix any issues in development
stage than in the production
environment.
http://www.kunal-chowdhury.com/2013/06/code-review-and-its-importance.html
http://www.veracode.com/blog/2015/03/how-code-review-best-practices-saved-one-company-millions
IS IT ALL ABOUT
BUGS?
BEYOND
THAT DEFINITION
DISCUSSIONS
COMMIT
DISCUSS
DISCUSS
DISCUSS
COMMIT
MERGE
https://flic.kr/p/fHgQDg
COMMIT DISCUSS
CULTURE
Every Code Review is an
opportunity to learn and teach.
And a very simple way to build
an engineering culture.
https://flic.kr/p/89YLs1
Who should make code review?
ALL TEAM
Team
Leader
Junior
Developer
Senior
Developer
Solution
Architect
Technical
Specialist
https://flic.kr/p/9XdG3M
The social incentives inherent in
voluntary code review policies
encourage developers to take ownership of the code.
AUTONOMY
http://alysonschafer.com/wp-content/uploads/2014/08/autonomy_makes_children_more_responsible.jpg
How should we do code review?
CODE
REVIEW
WAS
HARD
1 CODE
REVIEW
via
TOOLS
BREAK
TASKS
INTO
SMALLER
PIECES
https://flic.kr/p/bBZMoJ
team
DEFINITION OF DONE
An agreed team definition of
done is essential to produce
high quality code.
team
https://flic.kr/p/8oXJWd
http://www.slideshare.net/lemiorhan/fix-your-broken-windows-with-code-review-phpist14
Reorder commits
with rebase
to make the review easier.
author
RUBBER
DUCK
DEBUGGINGhttps://flic.kr/p/39jEVr
author
author
LET’S DO
CODE
REVIEW
Instead of finding
your own solution,
try to understand
author’s solution.
https://flic.kr/p/4eLyGd
reviewer
MASLOW PYRAMID
OF CODE REVIEW
CORRECT
SECURE
READABLE
ELEGANT
ALTURIST
reviewer
http://blog.d3in.org/post/111338685456/maslows-pyramid-of-code-review
CORRECT
•  Does the code do what it’s supposed to?
•  Does it handle edge cases?
•  Is it adequately tested to make sure that it stays correct?
•  Is it performant enough for this use case?
reviewer
SECURE
•  Does the code have vulnerabilities?
•  Is the data stored safely?
•  Is personal identification information handled correctly?
•  Could the code be used to induce a DOS?
•  Is input validation comprehensive enough?
reviewer
READABLE
•  Is the code easy to read and comprehend?
•  Does it make clear what the business requirements are?
•  Are variables, functions and classes named appropriately?
•  Does it use consistent coding convention?
reviewer
ELEGANT
•  Does the code leverage well-known patterns?
•  Does it achieve what it needs to do without sacrificing
simplicity and conciseness?
•  Does the code reuse existing functions when applicable?
•  Would you be proud of this code?
reviewer
ALTURIST
•  Does the code leave the codebase better than what it
was?
•  Does it inspire other engineers to improve their code?
•  Is it cleaning up unused code?
•  Is it improving documentation, introducing better patterns
through small-scale refactoring?
reviewer
reviewer
CHECKLIST
Develop your own domain and
language specific checklist
both for better review and
better coding.
reviewer
author
GIVE FEEDBACK
FEEDBACK EMBRACE
FEEDBACK
FEEDBACK
https://flic.kr/p/baYdD4
authorreviewer
WATCH
your
WORDS
LEAVE
your
EGOhttps://flic.kr/p/kr98Fr
https://flic.kr/p/7JAXE4
IMPLEMENT
AGREED
CHANGES
author
MERGE
PULL REQUEST
reviewer
http://www.inc.com/uploaded_files/image/how-to-merge-corporate-culutres-pop_8709.jpg
https://www.previousnext.com.au/blog/automated-drupal-testing-github-pull-requests
CODE
REVIEW
via
TOOLS
RECAP
TWO DEVELOPER
ONE MACHINE
https://flic.kr/p/84RfxX
PAIR PROGRAMMING
2
pair
SOME
TASKS
NEEDS TO BE
COMPLETED
IN ONE
BLOCK
OF
TIME
http://groundedpsyche.com/wp-content/uploads/2015/01/Iceberg.png
THINGS CAN
HAPPEN
pair
THAT ARE NOT
PART OF THE PLAN
https://flic.kr/p/fq4RiW
ONBOARD
YOUR
NEW
COMERS
pair
https://flic.kr/p/5hbe4x
SOME-
TIMES
YOU
JUST
NEED
HELP
pair
TEAM REVIEW
3
LET’S GET
TOGETHER
team
GETTING READY
FOR NEW
TECHNOLOGIES
http://www.kaizen-news.com/wp-content/uploads/2014/02/5s-ingrediants.jpg
team POST PROJECT
REVIEWS
(a.k.a.)
AFTER PARTY
CLEANING
https://flic.kr/p/2PVtrp
TO MAKE
THE RIGHT MOVES
team
SOFTWARE ENGINEERING
PRINCIPALS
https://flic.kr/p/4hLh9S
CODE REVIEW
PRACTICES
PULL REQUESTS
PAIR
PROGRAMMING
TEAM REVIEW
RECAP
What is code review?
Why it is needed?
Who should make review?
How we can do it with tools?
How we can do it in pairs?
How we can do it as team?
Make peace with the
simple fact that the
code you’re shipping
today has bugs.
Make peace that your
work is never done.
https://flic.kr/p/8ZxReChttp://www.pushing-pixels.org/2015/04/15/make-peace.html
@hakansaglam

More Related Content

What's hot

DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeLemi Orhan Ergin
 
How to Embed UX Thinking in Your Next API
How to Embed UX Thinking in Your Next APIHow to Embed UX Thinking in Your Next API
How to Embed UX Thinking in Your Next APIPronovix
 
5 Important Considerations For Mobile Application Development Process
5 Important Considerations For Mobile Application Development Process5 Important Considerations For Mobile Application Development Process
5 Important Considerations For Mobile Application Development ProcessAjeet Singh
 
The UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIsThe UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIsPronovix
 
We build digital products that power business
We build digital products that power businessWe build digital products that power business
We build digital products that power businessblueman11
 
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools Applitools
 
Top 5 Javascript Frameworks for Web and Mobile App Development
Top 5 Javascript Frameworks for Web and Mobile App DevelopmentTop 5 Javascript Frameworks for Web and Mobile App Development
Top 5 Javascript Frameworks for Web and Mobile App DevelopmentAjeet Singh
 
How to Tailor Your Developer Portal to Your Audience
How to Tailor Your Developer Portal to Your AudienceHow to Tailor Your Developer Portal to Your Audience
How to Tailor Your Developer Portal to Your AudiencePronovix
 
How to feature flag and run experiments in iOS and Android
How to feature flag and run experiments in iOS and AndroidHow to feature flag and run experiments in iOS and Android
How to feature flag and run experiments in iOS and AndroidOptimizely
 
Visual Testing Automates and Augments Testers - by Diego Lo Giudice, Forrester
Visual Testing Automates and Augments Testers - by Diego Lo Giudice, ForresterVisual Testing Automates and Augments Testers - by Diego Lo Giudice, Forrester
Visual Testing Automates and Augments Testers - by Diego Lo Giudice, ForresterApplitools
 
Best mobile Apps Development Company in Bangladesh
Best mobile Apps Development Company in Bangladesh Best mobile Apps Development Company in Bangladesh
Best mobile Apps Development Company in Bangladesh XactIdea Limited
 
Dev Learn Handout - Session 604
Dev Learn Handout - Session 604Dev Learn Handout - Session 604
Dev Learn Handout - Session 604Chad Udell
 
Email Notifications in Jenkins | Edureka
Email Notifications in Jenkins | EdurekaEmail Notifications in Jenkins | Edureka
Email Notifications in Jenkins | EdurekaEdureka!
 
Busting myths about business apps, low code style
Busting myths about business apps, low code styleBusting myths about business apps, low code style
Busting myths about business apps, low code styleZoho Creator
 
IoT App Development Company India, Hire IoT Developers
IoT App Development Company India, Hire IoT DevelopersIoT App Development Company India, Hire IoT Developers
IoT App Development Company India, Hire IoT DevelopersIndianAppDevelopers
 
How much does it cost to build a mobile app?
How much does it cost to build a mobile app?How much does it cost to build a mobile app?
How much does it cost to build a mobile app?Jurgis Kirsakmens
 
App development software
App development softwareApp development software
App development softwareNitish Garg
 
The Role of DevPortals in Digital Transformation
The Role of DevPortals in Digital TransformationThe Role of DevPortals in Digital Transformation
The Role of DevPortals in Digital TransformationPronovix
 
Full Stack Developer Interview Questions
Full Stack Developer Interview QuestionsFull Stack Developer Interview Questions
Full Stack Developer Interview QuestionsRock Interview
 

What's hot (20)

DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to Practice
 
How to Embed UX Thinking in Your Next API
How to Embed UX Thinking in Your Next APIHow to Embed UX Thinking in Your Next API
How to Embed UX Thinking in Your Next API
 
5 Important Considerations For Mobile Application Development Process
5 Important Considerations For Mobile Application Development Process5 Important Considerations For Mobile Application Development Process
5 Important Considerations For Mobile Application Development Process
 
The UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIsThe UX of DX: User Testing in the Invisible World of APIs
The UX of DX: User Testing in the Invisible World of APIs
 
We build digital products that power business
We build digital products that power businessWe build digital products that power business
We build digital products that power business
 
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
Visual Testing: Quality and Speed -- by GIl Tayar, Applitools
 
Top 5 Javascript Frameworks for Web and Mobile App Development
Top 5 Javascript Frameworks for Web and Mobile App DevelopmentTop 5 Javascript Frameworks for Web and Mobile App Development
Top 5 Javascript Frameworks for Web and Mobile App Development
 
How to Tailor Your Developer Portal to Your Audience
How to Tailor Your Developer Portal to Your AudienceHow to Tailor Your Developer Portal to Your Audience
How to Tailor Your Developer Portal to Your Audience
 
How to feature flag and run experiments in iOS and Android
How to feature flag and run experiments in iOS and AndroidHow to feature flag and run experiments in iOS and Android
How to feature flag and run experiments in iOS and Android
 
Visual Testing Automates and Augments Testers - by Diego Lo Giudice, Forrester
Visual Testing Automates and Augments Testers - by Diego Lo Giudice, ForresterVisual Testing Automates and Augments Testers - by Diego Lo Giudice, Forrester
Visual Testing Automates and Augments Testers - by Diego Lo Giudice, Forrester
 
Infopack COAX Software
Infopack COAX SoftwareInfopack COAX Software
Infopack COAX Software
 
Best mobile Apps Development Company in Bangladesh
Best mobile Apps Development Company in Bangladesh Best mobile Apps Development Company in Bangladesh
Best mobile Apps Development Company in Bangladesh
 
Dev Learn Handout - Session 604
Dev Learn Handout - Session 604Dev Learn Handout - Session 604
Dev Learn Handout - Session 604
 
Email Notifications in Jenkins | Edureka
Email Notifications in Jenkins | EdurekaEmail Notifications in Jenkins | Edureka
Email Notifications in Jenkins | Edureka
 
Busting myths about business apps, low code style
Busting myths about business apps, low code styleBusting myths about business apps, low code style
Busting myths about business apps, low code style
 
IoT App Development Company India, Hire IoT Developers
IoT App Development Company India, Hire IoT DevelopersIoT App Development Company India, Hire IoT Developers
IoT App Development Company India, Hire IoT Developers
 
How much does it cost to build a mobile app?
How much does it cost to build a mobile app?How much does it cost to build a mobile app?
How much does it cost to build a mobile app?
 
App development software
App development softwareApp development software
App development software
 
The Role of DevPortals in Digital Transformation
The Role of DevPortals in Digital TransformationThe Role of DevPortals in Digital Transformation
The Role of DevPortals in Digital Transformation
 
Full Stack Developer Interview Questions
Full Stack Developer Interview QuestionsFull Stack Developer Interview Questions
Full Stack Developer Interview Questions
 

Viewers also liked

Space Entrepreneurship
Space EntrepreneurshipSpace Entrepreneurship
Space EntrepreneurshipBrian Lim
 
Wenhui_Wang.LowerTroposphericTemperatureClimateDataRecordUsingNOAANESDISSTARR...
Wenhui_Wang.LowerTroposphericTemperatureClimateDataRecordUsingNOAANESDISSTARR...Wenhui_Wang.LowerTroposphericTemperatureClimateDataRecordUsingNOAANESDISSTARR...
Wenhui_Wang.LowerTroposphericTemperatureClimateDataRecordUsingNOAANESDISSTARR...grssieee
 
Satellite Telephony Security
Satellite Telephony SecuritySatellite Telephony Security
Satellite Telephony SecurityJim Geovedi
 
Mobile Game Development in Unity
Mobile Game Development in UnityMobile Game Development in Unity
Mobile Game Development in UnityHakan Saglam
 
Optical satellite communications
Optical satellite communicationsOptical satellite communications
Optical satellite communicationsIslam Kotb Ismail
 
Optical satellite communication
Optical satellite communicationOptical satellite communication
Optical satellite communicationPrashastha Babu
 
ontology based- data_integration.ali_aljadaa.1125048
ontology based- data_integration.ali_aljadaa.1125048ontology based- data_integration.ali_aljadaa.1125048
ontology based- data_integration.ali_aljadaa.1125048AliAlJadaa
 
Enterprise Architecture and Cloud Computing
Enterprise Architecture and Cloud Computing Enterprise Architecture and Cloud Computing
Enterprise Architecture and Cloud Computing Booz Allen Hamilton
 
Mission Engineering Solution Infographic
Mission Engineering Solution InfographicMission Engineering Solution Infographic
Mission Engineering Solution InfographicBooz Allen Hamilton
 
Cost and Economic Modeling for Cloud Computing
Cost and Economic Modeling for Cloud ComputingCost and Economic Modeling for Cloud Computing
Cost and Economic Modeling for Cloud ComputingBooz Allen Hamilton
 
Cloud Computing Technology Framework
Cloud Computing Technology FrameworkCloud Computing Technology Framework
Cloud Computing Technology FrameworkBooz Allen Hamilton
 
Vehicle Cyber Security: What Every Automotive Executive Needs to Know
Vehicle Cyber Security: What Every Automotive Executive Needs to KnowVehicle Cyber Security: What Every Automotive Executive Needs to Know
Vehicle Cyber Security: What Every Automotive Executive Needs to KnowBooz Allen Hamilton
 
User Experience Strategy for Lean Startups & UX Designers - London Tour April...
User Experience Strategy for Lean Startups & UX Designers - London Tour April...User Experience Strategy for Lean Startups & UX Designers - London Tour April...
User Experience Strategy for Lean Startups & UX Designers - London Tour April...Jaime Levy Consulting
 
The Government's Effective Migration to a Cloud Computing Environment
The Government's Effective Migration to a Cloud Computing EnvironmentThe Government's Effective Migration to a Cloud Computing Environment
The Government's Effective Migration to a Cloud Computing EnvironmentBooz Allen Hamilton
 
Next-Generation Biometrics and Forensics
Next-Generation Biometrics and ForensicsNext-Generation Biometrics and Forensics
Next-Generation Biometrics and ForensicsBooz Allen Hamilton
 
Balancing the tension between Lean and Agile
Balancing the tension between Lean and AgileBalancing the tension between Lean and Agile
Balancing the tension between Lean and AgileJames Coplien
 
Tribute to Muhammad Ali 1942 2016
Tribute to Muhammad Ali 1942 2016Tribute to Muhammad Ali 1942 2016
Tribute to Muhammad Ali 1942 2016Arbunize
 
Pre-Con Education: Effective Change/Configuration Management With CA Service...
Pre-Con Education: Effective Change/Configuration Management With CA Service...Pre-Con Education: Effective Change/Configuration Management With CA Service...
Pre-Con Education: Effective Change/Configuration Management With CA Service...CA Technologies
 
The Rise and Fall of Ellen Pao. Perpetrator or Victim?
The Rise and Fall of Ellen Pao. Perpetrator or Victim?The Rise and Fall of Ellen Pao. Perpetrator or Victim?
The Rise and Fall of Ellen Pao. Perpetrator or Victim?Sage HR
 

Viewers also liked (20)

Space Entrepreneurship
Space EntrepreneurshipSpace Entrepreneurship
Space Entrepreneurship
 
Wenhui_Wang.LowerTroposphericTemperatureClimateDataRecordUsingNOAANESDISSTARR...
Wenhui_Wang.LowerTroposphericTemperatureClimateDataRecordUsingNOAANESDISSTARR...Wenhui_Wang.LowerTroposphericTemperatureClimateDataRecordUsingNOAANESDISSTARR...
Wenhui_Wang.LowerTroposphericTemperatureClimateDataRecordUsingNOAANESDISSTARR...
 
Moble Communication
Moble CommunicationMoble Communication
Moble Communication
 
Satellite Telephony Security
Satellite Telephony SecuritySatellite Telephony Security
Satellite Telephony Security
 
Mobile Game Development in Unity
Mobile Game Development in UnityMobile Game Development in Unity
Mobile Game Development in Unity
 
Optical satellite communications
Optical satellite communicationsOptical satellite communications
Optical satellite communications
 
Optical satellite communication
Optical satellite communicationOptical satellite communication
Optical satellite communication
 
ontology based- data_integration.ali_aljadaa.1125048
ontology based- data_integration.ali_aljadaa.1125048ontology based- data_integration.ali_aljadaa.1125048
ontology based- data_integration.ali_aljadaa.1125048
 
Enterprise Architecture and Cloud Computing
Enterprise Architecture and Cloud Computing Enterprise Architecture and Cloud Computing
Enterprise Architecture and Cloud Computing
 
Mission Engineering Solution Infographic
Mission Engineering Solution InfographicMission Engineering Solution Infographic
Mission Engineering Solution Infographic
 
Cost and Economic Modeling for Cloud Computing
Cost and Economic Modeling for Cloud ComputingCost and Economic Modeling for Cloud Computing
Cost and Economic Modeling for Cloud Computing
 
Cloud Computing Technology Framework
Cloud Computing Technology FrameworkCloud Computing Technology Framework
Cloud Computing Technology Framework
 
Vehicle Cyber Security: What Every Automotive Executive Needs to Know
Vehicle Cyber Security: What Every Automotive Executive Needs to KnowVehicle Cyber Security: What Every Automotive Executive Needs to Know
Vehicle Cyber Security: What Every Automotive Executive Needs to Know
 
User Experience Strategy for Lean Startups & UX Designers - London Tour April...
User Experience Strategy for Lean Startups & UX Designers - London Tour April...User Experience Strategy for Lean Startups & UX Designers - London Tour April...
User Experience Strategy for Lean Startups & UX Designers - London Tour April...
 
The Government's Effective Migration to a Cloud Computing Environment
The Government's Effective Migration to a Cloud Computing EnvironmentThe Government's Effective Migration to a Cloud Computing Environment
The Government's Effective Migration to a Cloud Computing Environment
 
Next-Generation Biometrics and Forensics
Next-Generation Biometrics and ForensicsNext-Generation Biometrics and Forensics
Next-Generation Biometrics and Forensics
 
Balancing the tension between Lean and Agile
Balancing the tension between Lean and AgileBalancing the tension between Lean and Agile
Balancing the tension between Lean and Agile
 
Tribute to Muhammad Ali 1942 2016
Tribute to Muhammad Ali 1942 2016Tribute to Muhammad Ali 1942 2016
Tribute to Muhammad Ali 1942 2016
 
Pre-Con Education: Effective Change/Configuration Management With CA Service...
Pre-Con Education: Effective Change/Configuration Management With CA Service...Pre-Con Education: Effective Change/Configuration Management With CA Service...
Pre-Con Education: Effective Change/Configuration Management With CA Service...
 
The Rise and Fall of Ellen Pao. Perpetrator or Victim?
The Rise and Fall of Ellen Pao. Perpetrator or Victim?The Rise and Fall of Ellen Pao. Perpetrator or Victim?
The Rise and Fall of Ellen Pao. Perpetrator or Victim?
 

Similar to Voxxed days 2015-hakansaglam-codereview

Code review best practice
Code review best practiceCode review best practice
Code review best practiceOren Digmi
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Maven Logix
 
Importance of the quality of code
Importance of the quality of codeImportance of the quality of code
Importance of the quality of codeShwe Yee
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure rupeshchanchal
 
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdf
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdfBest 5 Swift IDEs and Code Editors for Your Next iOS Project.pdf
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdfExpert App Devs
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applicationsnadeembtech
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
 
Topic production code
Topic production codeTopic production code
Topic production codeKavi Kumar
 
Test-Driven Development Reference Card
Test-Driven Development Reference CardTest-Driven Development Reference Card
Test-Driven Development Reference CardSeapine Software
 
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
 
How to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOpsHow to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOpsPerfecto by Perforce
 
Indy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleIndy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleikram_ahamed
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineeringgaoliang641
 
You cant be agile if your code sucks
You cant be agile if your code sucksYou cant be agile if your code sucks
You cant be agile if your code sucksPeter Gfader
 
Python: Object-oriented Testing
Python: Object-oriented TestingPython: Object-oriented Testing
Python: Object-oriented TestingDamian T. Gordon
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationBlue Elephant Consulting
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
 
Should you be your own judge?
Should you be your own judge?Should you be your own judge?
Should you be your own judge?Achyut Pokhrel
 

Similar to Voxxed days 2015-hakansaglam-codereview (20)

Code review best practice
Code review best practiceCode review best practice
Code review best practice
 
codEnforcer 2013
codEnforcer 2013codEnforcer 2013
codEnforcer 2013
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
 
Importance of the quality of code
Importance of the quality of codeImportance of the quality of code
Importance of the quality of code
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdf
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdfBest 5 Swift IDEs and Code Editors for Your Next iOS Project.pdf
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdf
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applications
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
Topic production code
Topic production codeTopic production code
Topic production code
 
Test-Driven Development Reference Card
Test-Driven Development Reference CardTest-Driven Development Reference Card
Test-Driven Development Reference Card
 
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...
 
How to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOpsHow to Embed Codeless Test Automation Into DevOps
How to Embed Codeless Test Automation Into DevOps
 
Indy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleIndy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-mule
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
 
You cant be agile if your code sucks
You cant be agile if your code sucksYou cant be agile if your code sucks
You cant be agile if your code sucks
 
Python: Object-oriented Testing
Python: Object-oriented TestingPython: Object-oriented Testing
Python: Object-oriented Testing
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - Implementation
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
Code Inspection
Code InspectionCode Inspection
Code Inspection
 
Should you be your own judge?
Should you be your own judge?Should you be your own judge?
Should you be your own judge?
 

Recently uploaded

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 

Recently uploaded (20)

SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 

Voxxed days 2015-hakansaglam-codereview