DEV Community

Jang Rush
Jang Rush

Posted on • Originally published at mmap.page on

Selected Gitmojis

tl;tr

emoji code usage Angular Convention
🎨 :art: refactor refactor
πŸ› :bug: bug fix fix
πŸ”₯ :fire: remove feature n/a
πŸ“ :memo: doc docs
πŸ†• :new: new feature feat
πŸ”’ :lock: security fix n/a
⚑️ :zap: performance perf

Intersection between gitmoji and Atom style guide

  • 🎨 :art: when improving the format/structure of the code
  • πŸ“ :memo: when writing docs
  • 🐧 :penguin: when fixing something on Linux
  • 🍎 :apple: when fixing something on macOS
  • 🏁 :checkered_flag: when fixing something on Windows
  • πŸ› :bug: when fixing a bug
  • πŸ”₯ :fire: when removing code or files
  • πŸ’š :green_heart: when fixing the CI build
  • βœ… :white_check_mark: when adding tests
  • πŸ”’ :lock: when dealing with security
  • ⬆️ :arrow_up: when upgrading dependencies
  • ⬇️ :arrow_down: when downgrading dependencies

Conflicts between gitmoji and Atom style guide

Meaning gitmoji Atom
Performance ⚑️ 🐎
Removing linter warnings 🚨 πŸ‘•

Comparison with Angular Convention

Angular gitmoji
feat ✨
fix πŸ›
docs πŸ“
style 🎨
refactor ♻️
perf ⚑️
test βœ…
chore πŸš€ (deploy)γ€€or πŸ’š (CI)

A reduced list of gitmoji

From the intersection, remove the following emojis:

Too long:

🐧, 🏁, πŸ’š, βœ…, ⬆️, ⬇️

Ambiguous:

  • πŸ’š, I don’t know why this is related to CI.
  • ⬆️, this could mean β€œbump version”.

- ⬇️, this could mean β€œregression”.

Other:

🍎, since both 🐧 and 🏁 have been removed.

And add the following:

  • ⚑️ :zap: for performance from gitmoji.
  • πŸ†• :new: for new features (I saw someone used this).

Thus the final list is:

  • 🎨 :art: when improving the format/structure of the code
  • πŸ› :bug: when fixing a bug
  • πŸ”₯ :fire: when removing code or files
  • πŸ“ :memo: when writing docs
  • πŸ†• :new: when adding a new feature
  • πŸ”’ :lock: when fixing security problems
  • ⚑️ :zap: when improving performance

Compared to Angular Convention, I removed the following types:

  • test and chore: tests and build process are part of code logic.
  • style: White-space, formatting etc. are unimportant. And most of the time, they do not deserve a separate commit.

I added the following types:

  • A security issue (:lock:) is a special kind of bug (:bug:). It is so important that I use a different emoji.
  • Removing a feature (:fire:) belongs to refactor by Angular Convention’s definition: β€œA code change that neither fixes a bug nor adds a feature”. However, it makes sense to assume a refactor dose not introduce a breaking change of API, while removing a feature always break the API.

Top comments (0)