Jakub Vrána: Code Reviews with Phabricator

20
Code Reviews with Phabricator Jakub Vrána, WebExpo 2013

description

"What's the value of code reviews and how you can do them in Phabricator." More at http://webexpo.net/prague2013/talk/code-reviews-with-phabricator/

Transcript of Jakub Vrána: Code Reviews with Phabricator

Page 1: Jakub Vrána: Code Reviews with Phabricator

Code Reviews with PhabricatorJakub Vrána, WebExpo 2013

Page 2: Jakub Vrána: Code Reviews with Phabricator

PhabricatorStarted as Diffcamp at FacebookOpen sourceUsers: Dropbox, Asana, Quora, Uber, …Supports Git, Mercurial, SVN, plain diffsFor developers from developersPerforms at scaleOther tools: GitHub, Critique, …

Page 3: Jakub Vrána: Code Reviews with Phabricator

Phabricator ApplicationsDifferential: code reviewsDiffusion: browse repositoryManiphest: tasks and bugsHerald: notifications

Owners, Calendar, Wiki, Blog, lots more

Conduit: APIArcanist: command line interface

Page 8: Jakub Vrána: Code Reviews with Phabricator

Diffusion: Stable Links

Page 10: Jakub Vrána: Code Reviews with Phabricator

Maniphest: “Not Bad”

Page 11: Jakub Vrána: Code Reviews with Phabricator

Herald: Packages

Page 12: Jakub Vrána: Code Reviews with Phabricator

Calendar: Reviewer Away

Page 13: Jakub Vrána: Code Reviews with Phabricator

Conduit: Method Call

Page 14: Jakub Vrána: Code Reviews with Phabricator

Arcanistarc feature: Start working on somethingarc diff: Send code for reviewarc land: Publish reviewed code

arc cover: Who should review my changearc patch: Apply someone’s revisionSeveral other commandsWorks on Linux, Mac, Windows

Page 15: Jakub Vrána: Code Reviews with Phabricator

Arcanist: Lint

Page 16: Jakub Vrána: Code Reviews with Phabricator

Arcanist: Unit Tests

Test plan

Page 17: Jakub Vrána: Code Reviews with Phabricator

CustomizationConfigurationExtending code

Differential fieldsRemarkup rulesEvents

Custom Arcanist commandsConduit

Page 18: Jakub Vrána: Code Reviews with Phabricator

WeaknessesCommit discovery is delayedSome features require manual setup

E.g. cross references

Hosted repositories should solve both

Page 19: Jakub Vrána: Code Reviews with Phabricator

CultureResponse within a dayDon’t ask for unrelated changesExpress strength of your feelingsWho reviews the codeWho lands the codeHow is the code testedWhen is the code linted and testedPre-commit or post-commit review

Page 20: Jakub Vrána: Code Reviews with Phabricator

Thanks