Changeset View
Changeset View
Standalone View
Standalone View
CONTRIBUTING.md
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
- Review Diffs from other developers as quickly as possible. | - Review Diffs from other developers as quickly as possible. | ||||
- Large changes should be broken into logical chunks that are easy to review, | - Large changes should be broken into logical chunks that are easy to review, | ||||
and keep the code in a functional state. | and keep the code in a functional state. | ||||
- Do not mix moving stuff around with changing stuff. Do changes with renames | - Do not mix moving stuff around with changing stuff. Do changes with renames | ||||
on their own. | on their own. | ||||
- Sometimes you want to replace one subsystem by another implementation, | - Sometimes you want to replace one subsystem by another implementation, | ||||
in which case it is not possible to do things incrementally. In such cases, | in which case it is not possible to do things incrementally. In such cases, | ||||
you keep both implementations in the codebase for a while, as described | you keep both implementations in the codebase for a while, as described | ||||
[here](https://www.gamasutra.com/view/news/128325/Opinion_Parallel_Implementations.php). | [here](http://sevangelatos.com/john-carmack-on-parallel-implementations/) | ||||
- There are no "development" branches, all Diffs apply to the master | - There are no "development" branches, all Diffs apply to the master | ||||
branch, and should always improve it (no regressions). | branch, and should always improve it (no regressions). | ||||
- Don't break the build, it is important to keep master green as much as possible. | - Don't break the build, it is important to keep master green as much as possible. | ||||
If a Diff is landed, and breaks the build, fix it quickly. If it cannot be fixed | If a Diff is landed, and breaks the build, fix it quickly. If it cannot be fixed | ||||
quickly, it should be reverted, and re-applied later when it no longer breaks the build. | quickly, it should be reverted, and re-applied later when it no longer breaks the build. | ||||
- As soon as you see a bug, you fix it. Do not continue on. Fixing the bug becomes the | - As soon as you see a bug, you fix it. Do not continue on. Fixing the bug becomes the | ||||
top priority, more important than completing other tasks. | top priority, more important than completing other tasks. | ||||
- Automate as much as possible, and spend time on things only humans can do. | - Automate as much as possible, and spend time on things only humans can do. | ||||
Here are some handy links for development practices aligned with Bitcoin ABC: | Here are some handy links for development practices aligned with Bitcoin ABC: | ||||
- [Developer Notes](doc/developer-notes.md) | - [Developer Notes](doc/developer-notes.md) | ||||
- [Statement of Bitcoin ABC Values and Visions](https://www.yours.org/content/bitcoin-abc---our-values-and-vision-a282afaade7c) | - [Statement of Bitcoin ABC Values and Visions](https://www.yours.org/content/bitcoin-abc---our-values-and-vision-a282afaade7c) | ||||
- [How to Do Code Reviews Like a Human - Part 1](https://mtlynch.io/human-code-reviews-1/) | - [How to Make Your Code Reviewer Fall in Love with You](https://mtlynch.io/code-review-love/) | ||||
- [How to Do Code Reviews Like a Human - Part 2](https://mtlynch.io/human-code-reviews-2/) | |||||
- [Large Diffs Are Hurting Your Ability To Ship](https://medium.com/@kurtisnusbaum/large-diffs-are-hurting-your-ability-to-ship-e0b2b41e8acf) | - [Large Diffs Are Hurting Your Ability To Ship](https://medium.com/@kurtisnusbaum/large-diffs-are-hurting-your-ability-to-ship-e0b2b41e8acf) | ||||
- [Stacked Diffs: Keeping Phabricator Diffs Small](https://medium.com/@kurtisnusbaum/stacked-diffs-keeping-phabricator-diffs-small-d9964f4dcfa6) | - [Stacked Diffs: Keeping Phabricator Diffs Small](https://medium.com/@kurtisnusbaum/stacked-diffs-keeping-phabricator-diffs-small-d9964f4dcfa6) | ||||
- [Parallel Implementations](https://www.gamasutra.com/view/news/128325/Opinion_Parallel_Implementations.php) | - [Parallel Implementations](http://sevangelatos.com/john-carmack-on-parallel-implementations/) | ||||
- [The Pragmatic Programmer: From Journeyman to Master](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X) | - [The Pragmatic Programmer: From Journeyman to Master](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X) | ||||
- [Monorepo: Advantages of monolithic version control](https://danluu.com/monorepo/) | - [Monorepo: Advantages of monolithic version control](https://danluu.com/monorepo/) | ||||
- [Monorepo: Why Google Stores Billions of Lines of Code in a Single Repository](https://www.youtube.com/watch?v=W71BTkUbdqE) | - [Monorepo: Why Google Stores Billions of Lines of Code in a Single Repository](https://www.youtube.com/watch?v=W71BTkUbdqE) | ||||
- [The importance of fixing bugs immediately](https://youtu.be/E2MIpi8pIvY?t=16m0s) | - [The importance of fixing bugs immediately](https://youtu.be/E2MIpi8pIvY?t=16m0s) | ||||
- [Slow Deployment Causes Meetings](https://www.facebook.com/notes/kent-beck/slow-deployment-causes-meetings/1055427371156793/) | - [Slow Deployment Causes Meetings](https://www.facebook.com/notes/kent-beck/slow-deployment-causes-meetings/1055427371156793/) | ||||
- [Good Work, Great Work, and Right Work](https://forum.dlang.org/post/q7u6g1$94p$1@digitalmars.com) | - [Good Work, Great Work, and Right Work](https://forum.dlang.org/post/q7u6g1$94p$1@digitalmars.com) | ||||
- [Accelerate: The Science of Lean Software and DevOps](https://www.amazon.com/Accelerate-Software-Performing-Technology-Organizations/dp/1942788339) | - [Accelerate: The Science of Lean Software and DevOps](https://www.amazon.com/Accelerate-Software-Performing-Technology-Organizations/dp/1942788339) | ||||
- [Facebook Engineering Process with Kent Beck](https://softwareengineeringdaily.com/2019/08/28/facebook-engineering-process-with-kent-beck/) | - [Facebook Engineering Process with Kent Beck](https://softwareengineeringdaily.com/2019/08/28/facebook-engineering-process-with-kent-beck/) | ||||
▲ Show 20 Lines • Show All 187 Lines • Show Last 20 Lines |