Skip to content

Commit 2db3af5

Browse files
authored
docs: contributing: add a design phase
The code-complexity of Yafc grew quite a bit this year. It becomes harder and harder to understand the codebase or to change it. Let's address that by reducing the rate at which the complexity increases.
1 parent 689f5b1 commit 2db3af5

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

Docs/CONTRIBUTING.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22

33
Here are a couple of things to make your experience in the community more enjoyable.
44

5-
## Set up environment
6-
* Please inspect and run [set-up-git-hooks.sh](/set-up-git-hooks.sh) once. It sets up a formatting check to be run before `git push`.
5+
### Before you start coding: The Design Phase
76

8-
## Coding
7+
The code of Yafc is complicated enough that we want to make it simpler. In other words, if your feature increases the complexity, then please make a github issue with your proposal before coding, so we can discuss if this feature can be added to Yafc.
8+
9+
### Setting up environment
10+
* Please inspect and run [set-up-git-hooks.sh](/set-up-git-hooks.sh) once. It sets up a formatting check to be run before `git push`, to make sure that the basic formatting is fine.
11+
12+
### Coding
913
* For the conventions that we use, please refer to the [Code Style](/Docs/CodeStyle.md).
1014
* In Visual Studio, you can check some of the rules by running Code Cleanup, or Format Document with "Ctrl+K, Ctrl+D".
1115

12-
## Pull Request
16+
### Pull Request
1317
* In the [changelog](https://github.com/have-fun-was-taken/yafc-ce/blob/master/changelog.txt), please provide a short description of your change.
1418
* In the PR, please provide a short description of the issue, and how your PR solves that issue.
1519
* It would be appreciated if you reorganize your commits before the merge -- separate and squash them into logical steps, so they are easier to review and understand. For instance, the fixes to the commits can be squashed into them. The reordering of the commits can be done with the interactive rebase: `git rebase -i head~n`, but please read beforehand on how to do it, so you don't accidentally delete your efforts. If you want to go godlike, feel free to read on `git commit --fixup=` and `git rebase -i --autosquash` ([example](https://stackoverflow.com/questions/3103589/how-can-i-easily-fixup-a-past-commit)). However, it can be the case that the reordering requires very tricky merges, so it's okay to leave the commits as-is in this case.

0 commit comments

Comments
 (0)