Improving Code Hygiene Incrementally w/ CodeClimate

9
CODECLIMATE IMPROVING CODE HYGIENE INCREMENTALLY

Transcript of Improving Code Hygiene Incrementally w/ CodeClimate

CODECLIMATEIMPROVING CODE HYGIENE INCREMENTALLY

IMPROVING CODE HYGIENE INCREMENTALLY

THE SITUATION

▸ We have large codebases & many date back close to a decade (a lifetime in tech)

▸ Open source hygiene tools yell at us and generate large reports that are overwhelming

▸ Started to look for a way to enforce good hygiene in an incremental way

IMPROVING CODE HYGIENE INCREMENTALLY

WHAT DOES CODECLIMATE DO?

▸ Provides a way to use the great open source hygiene tools, in an incremental way

▸ Integrates with GitHub, Stash, Jira, and many other tools

▸ Checks the code of each pull request and will only fail the “build” if there are new issues

▸ Allows developers to run the same checks on their own machine

IMPROVING CODE HYGIENE INCREMENTALLY

HOW DOES CODECLIMATE WORK?

WEB UICOMMAND LINE OR

ENGINES

PHPCS PHPMD CSSLINT ESLINT FIXME SCSS LINT

IMPROVING CODE HYGIENE INCREMENTALLY

OVERVIEW OF ENGINES

▸ All engines are open source and on GitHub

▸ Run as docker images

▸ Engines can be easily created / modified

▸ Barracuda has contributed a few improvements

▸ CodeClimate is using Barracuda’s PHP forking library

▸ Improves speed of PHPCS and PHPMD

IMPROVING CODE HYGIENE INCREMENTALLY

CONFIGURING A REPO TO USE CODECLIMATE.codeclimate.yml

IMPROVING CODE HYGIENE INCREMENTALLY

CLI DEMO

IMPROVING CODE HYGIENE INCREMENTALLY

WEB UI DEMO

https://codeclimate.cudaops.com

https://stash.cudaops.com/projects/BNCPY/repos/cloud/pull-requests/1315/overview

https://codeclimate.cudaops.com/repos/563108b66f885c004300014b/pull/1315

THANK YOU