#15 Source Code Kommentare, Git Commits Messages, Merge Commits und Branch-Visualisierungs-Kunst

Engineering Kiosk

Kommentare im Quellcode und Git Commit Messages - Liest die überhaupt wer?

Ein Streit, der so alt ist wie die Software Entwicklung selbst: Code ist Selbsterklärend und braucht keine Kommentare. Oder doch? Und die Git Historie ist auch eigentlich sinnlos. Warum sollte da jemand zurück gehen und sich die Commit Messages durchlesen?

Diese Fragen und Themen wie Semantic Versioning, Idiomatische Programmier-Patterns, Merge Commits, Story-Tellung und was Fynn Kliemanns Kunst mit der Git Branch-Visualisierung zu tun hat, klären Wolfgang und Andy in dieser Episode vom Engineering Kiosk.

Bonus: Warum Andy einen neuen Podcast-Partner sucht und Wolfgang lieber seinen Code angreift, anstatt Ihn zu entwickeln.

Feedback an stehtisch@engineeringkiosk.dev oder via Twitter an https://twitter.com/EngKiosk

Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners

Links

  • Best practices for writing code comments: https://stackoverflow.blog/2021/12/23/best-practices-for-writing-code-comments/ 
  • SymfonyLive Cologne 2016 - Jan van Thoor - Open Heart Surgery In Production: https://www.youtube.com/watch?v=vBG5pUn1Olg
  • What is the best comment in source code you have ever encountered?: https://stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered
  • Melanie Patrick: Git - How to unfuck https://www.youtube.com/watch?v=LP4F2rmi4r4
  • Automatische Changelog/Release PRs: https://github.com/googleapis/release-please
  • Semantic Versioning: https://semver.org/
  • Software Repository Mining: https://en.wikipedia.org/wiki/Mining_software_repositories
  • Andy Grunwald - The story of my bachelor thesis about Software Repository Mining: https://andygrunwald.com/blog/the-story-of-my-bachelor-thesis-about-software-repository-mining/
  • Linux Kernel Git Commit Messages Beispiel: https://github.com/torvalds/linux/commit/3ae87d2f25c0e998da2721ce332e2b80d3d53c39

Sprungmarken

(00:00:00) Intro

(00:01:21) Home Office: Job und Privat stark trennen?

(00:02:31) Warum macht man Sport und wie steht Wolfgang zur bayerischen Ess- und Feierkultur

(00:03:43) Karriere oder Software-Engineering Podcast und Hardcore-Tech-Thema

(00:04:38) Wie viel Kommentare hat die letzte Datei, die du in der IDE offen hattest?

(00:01:16) Wie stehst du allgemein zu Kommentaren?

(00:01:05) Was sind sinnvolle Kommentare und ist Code wirklich selbsterklärend?

(00:13:55) Komplexen code refactoren oder lieber gut kommentieren?

(00:17:40) Kommentare für kopierten Stack Overflow Code

(00:19:48) Kommentare für die Business-Domäne

(00:20:11) Algorithmen und Variablen mit einem Buchstaben

(00:21:46) Können gute Variablen und Funktionsnamen Kommentare ersetzen?

(00:23:43) Wird der Code fürs Lesen oder Schreiben optimiert?

(00:25:43) Bit-Shifting versteht doch keiner

(00:28:29) Wie komplex eigentlich die Bash-Programmierung sein

(00:33:11) TODO-Kommentare im Code oder lieber ein Ticket?

(00:36:56) Story-Telling im Code und Entwickler-Humor

(00:40:02) Kommentare in Deutsch oder Englisch und Domänen-Vokabular

(00:42:34) Wie sollten Git Commit Messages aussehen? Und warum Git Commit Messages E-Mail sein können

(00:45:39) Isolierte Git Commits für bessere Git Commit Messages

(00:46:44) Merge Commits

(00:49:59) Strukturierte Git Commit Messages und Nutzung von Prefixes wie bugfix und feature in Git Commit Messages

(00:52:13) Was ist Semantic Versioning (SemVer)?

(00:56:38) Der Linux Kernel als Vorbild für gute Commit Messages

(00:57:55) Wolfgangs Meinung zu Merge-Commits

(00:59:38) Branch-Visualisierung in Git

(01:01:30) Outro

Hosts

  • Wolfgang Gassler (https://twitter.com/schafele)
  • Andy Grunwald (https://twitter.com/andygrunwald)

Engineering Kiosk Podcast: Anfragen an stehtisch@engineeringkiosk.dev oder via Twitter an https://twitter.com/EngKiosk

To listen to explicit episodes, sign in.

Stay up to date with this show

Sign in or sign up to follow shows, save episodes, and get the latest updates.

Select a country or region

Africa, Middle East, and India

Asia Pacific

Europe

Latin America and the Caribbean

The United States and Canada