<type>: <subject>
or
<type>: <subject>
<description>
- Always put the proper
<type>
<subject>
- summarize your change
- use imperative mood.
- Omit articles (
a/an
andthe
). - should not exceed 75 characters
- must start with lowercase
<description>
- detailed explantion of your change
From angular project
- build: Changes that affect the build system or external dependencies
- ci: Changes to our CI configuration files and scripts
- docs: Documentation only changes
- feat: A new feature
- fix: A bug fix
- perf: A code change that improves performance
- refactor: A code change that neither fixes a bug nor adds a feature
- style: Changes that do not affect the meaning of the code
- test: Adding missing tests or correcting existing tests
- revert: Revert commit it should begin with
revert:
, followed by the header of the reverted commit.<description>
must containThis reverts commit <hash>.
feat: add account check logic
We have to verify 3 things here:
1. blah
2. blah
3. blah
- For the title, use imperative mood.
- Use rebase only (No merge or squash).
- Push your works on your own forked repo, and make a PR across forks.
- Use the same title (head) and content (body) for a single-commit PR.
- When the PR resolves some issues, put
fixes #123
in the content of the PR, not in the commit messages. - Conversation must be resolved by the commentor, not the PR author.
- Do not take the Github notifications as the communication channel; use Discord.
Use a single chunk of use
.
use a;
use b;
use c;
not
use a;
use b;
use c;
Use Rc::clone(&object)
:
let object = std::sync::Rc::new(inner_object);
// Explicit cloning of `Rc`.
let another_object = std::sync::Rc::clone(&object);
Do not use confusing object.clone()
:
let object = std::sync::Rc::new(inner_object);
// This can be seen as cloning the inner object, not cloning the `Rc`, to other reviewers.
let another_object = object.clone();
A crate name must start with pdao-
, except those crates in the simperby
project (they're for general purpose).