Some years ago, my team at GitHub grew from 2 full time individual iOS contributors (and one manager who could still code), to 7 of us ICs. Growing a

What makes a great contribution to a codebase?

submited by
Style Pass
2024-06-05 23:30:05

Some years ago, my team at GitHub grew from 2 full time individual iOS contributors (and one manager who could still code), to 7 of us ICs. Growing a team by 3.5x meant that certain behaviors, concepts or principles that were easy enough to agree upon with just two folks now needed to scale up to many independent people.

I wrote up this document for our repo's CONTRIBUTING.md to try to capture our growing team's guiding light in what made a great pull request or the building blocks of a great feature. A good chunk of it still holds true today. Here's github/mobile-ios's guidelines for great contributions.

One way to prevent a bug from recurring is to write a unit test around the bug. Writing a failing test that isolates the bug and refactoring using "red, green, refactor" will not only fix the bug but give the codebase a way to ensure other changes don't break it again in the future.

Prefer unit testing behaviors on view models to assert behaviors. View models allow for testing at a more granular level without involving UIKit.

Leave a Comment