Slide 1

Slide 1 text

😎 A journey to commit like a hipster

Slide 2

Slide 2 text

🖖 Hello! @spontoreau Sylvain Pontoreau How it’s going 🌹 ⚔ 😐 How it started -<@ O=|====> o_o Emo(ticons/jis), I’m in that business since 1998 © And I like to do funny things with them 😬 🎪 Co-organizer 📕 Book writer Microsoft 󰳕 Work with

Slide 3

Slide 3 text

🤔 what is the problem?

Slide 4

Slide 4 text

💬 Commit messages… (The guy who left the company) Friday afternoon: (You, trying to understand what is going on…) Monday morning, outage on prod:

Slide 5

Slide 5 text

😞 But it’s not that easy! (Maybe you everyday) (The guy who’s joining your team)

Slide 6

Slide 6 text

📘 Convention to the rescue The conventional commits specification

Slide 7

Slide 7 text

📚 Conventional Commits A set of rules for creating explicit commit history • How it works: Format types(context): message Breaking changes ! • Types can be extended easily (impr, chore, refactor, perf, docs, …) • Automation made simple (changelog, semantic versioning, …) Types fix / feat

Slide 8

Slide 8 text

💩 Is Conventional Commits bad?

Slide 9

Slide 9 text

👀 Predictability of the human eye Do you know F-Pattern? • In text-heavy content, most humans scan information by making an “F” • F-Pattern is bad for user • Optimize horizontal movement of the eye is a key point • This is why Conventional Commits specification is not that great

Slide 10

Slide 10 text

❓ Why consider emojis instead? (No need to explain what it stands for) First, the are super expressive! 🎉 ✅ 📱 🚧 💩 🐛 🗑

Slide 11

Slide 11 text

🎉 Tada! ✅ Test are ok! 🚧 We are working on it! 🗑 Let’s drop that! 🐛 It’s not working 👁 Why consider emojis instead? Where is the bug? 👀 Your eyes directly look here Secondly, they optimize reading! 😉 Optimized scan

Slide 12

Slide 12 text

gitm😎ji

Slide 13

Slide 13 text

A convention based on emojis! 📒Gitmoji https://gitmoji.carloscuesta.me/

Slide 14

Slide 14 text

😜 Gitmoji The basic ones! 🐛 :bug: Fix a bug. ✨ :sparkles: Introduce new feature.

Slide 15

Slide 15 text

😍Gitmoji Refacto / Improvement ♻ :recycle: Refactor code. ⚡ :zap: Improve preformance. 🚚 :truck: Move or rename resources 🏗 :building_construct ion: Make architectural changes. 🎨 :art: Improve structure / format of the code.

Slide 16

Slide 16 text

😆 Gitmoji Package management ➖ :heavy_minus_sign: Remove a dependency. ➕ :heavy_plus_sign: Add a dependency. ⬆ :arrow_up: Upgrade dependencies ⬇ :arror_down: Downgrade dependencies. 📌 :pushpin: Pin dependencies to specific versions.

Slide 17

Slide 17 text

🤡 :clown_face: Mock things. 🧪 :test_tube: Add a failing test. 😳 Gitmoji Testing ✅ :white_check_mark: Add, update, or pass tests.

Slide 18

Slide 18 text

😂 Gitmoji Other useful emojis 🚨 :rotating_light: FIx compiler / linter warnings. 👷 :construction_work er: Add or update CI build system. 🙈 :see_no_evil: Add or update a .gitignore file. 💥 :boom: Introduce breaking changes. 🔧 :wrench: Add or update configuration files.

Slide 19

Slide 19 text

󰠁 for developers 󰞵

Slide 20

Slide 20 text

💻 Gitmoji CLI There is a CLI for that 🤩 https://github.com/carloscuesta/gitmoji-cli

Slide 21

Slide 21 text

🖥 Gitmoji plugins/extensions For people who don’t like terminals 😅 https://gitmoji.dev/related-tools And more: - atom - sublim - macOS app - … Browser extensions IntelliJ VS Code

Slide 22

Slide 22 text

📝 Changelog No more excuses 😊 https://github.com/frinyvonnick/gitmoji-changelog

Slide 23

Slide 23 text

🔖Semantic versioning Major messages.contains(💥) Minor !messages.contains(💥) && messages.contains(✨) Not a big deal 🦸 Patch !messages.contains(💥) && !messages.contains(✨)

Slide 24

Slide 24 text

🥳 conclusion

Slide 25

Slide 25 text

💪 Conclusion 🐛FIX EMAIL VALIDATION FIX EMAIL VALIDATION FIX SHOW ME THE REAL COMMIT MESSAGE I SAID THE REAL COMMIT MESSAGE PERFECTION

Slide 26

Slide 26 text

Questions❓ Feel free to ask! 󰢨󰢧

Slide 27

Slide 27 text

🙏 Thanks! 󰢛 https://speakerdeck.com/spontoreau