github.com/prebid/prebid-server/v2@v2.18.0/docs/developers/code-reviews.md (about) 1 # Code Reviews 2 3 ## Standards 4 Anyone is free to review and comment on any [open pull requests](https://github.com/prebid/prebid-server/pulls). 5 6 All pull requests must be reviewed and approved by at least one [core member](https://github.com/orgs/prebid/teams/core/members) before merge. 7 8 Very small pull requests may be merged with just one review if they: 9 10 1. Do not change the public API. 11 2. Have low risk of bugs, in the opinion of the reviewer. 12 3. Introduce no new features, or impact the code architecture. 13 14 Larger pull requests must meet at least one of the following two additional requirements. 15 16 1. Have a second approval from a core member 17 2. Be open for 5 business days with no new changes requested. 18 19 ## Process 20 21 New pull requests should be [assigned](https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) to a core member for review within 3 business days of being opened. 22 That person should either approve the changes or request changes within 4 business days of being assigned. 23 If they're too busy, they should assign it to someone else who can review it within that timeframe. 24 25 If the changes are small, that member can merge the PR once the changes are complete. Otherwise, they should 26 assign the pull request to another member for a second review. 27 28 The pull request can then be merged whenever the second reviewer approves, or if 5 business days pass with no farther 29 changes requested by anybody, whichever comes first. 30 31 32 ## Priorities 33 34 Code reviews should focus on things which cannot be validated by machines. 35 36 Some examples include: 37 38 - Can we improve the user's experience in any way? 39 - Have the relevant [docs](..) been added or updated? If not, add the `needs docs` label. 40 - Do you believe that the code works by looking at the unit tests? If not, suggest more tests until you do! 41 - Is the motivation behind these changes clear? If not, there must be [an issue](https://github.com/prebid/prebid-server/issues) explaining it. Are there better ways to achieve those goals? 42 - Does the code use any global, mutable state? [Inject dependencies](https://en.wikipedia.org/wiki/Dependency_injection) instead! 43 - Can the code be organized into smaller, more modular pieces? 44 - Is there dead code which can be deleted? Or TODO comments which should be resolved?