Vielleicht geht es einigen von Euch ähnlich wie es am Anfang mir ergangen ist, wenn man einen Pull Request im GitHub kommentiert. Was schreibt man da rein? Ich habe in meinen eigenen Projekten die Commit Beschreibungen Stichpunktartig dort eingefügt. Das reicht ja auch. Aber bei größeren Projekte ist Struktur und Ordnung die halbe Miete für ein gut funktionierendes Miteinander im Developer Team. Häufiges Streitthema in einem nicht so gutem Team sind die Review Schlachten. Ganz besonders wenn man einen Oberlehrer im Team sitzen hat, der dann noch denkt, dass er auf dem Level eines Linus Torvald mitschwimmt. Hier kommen die dunklen Seiten eines psychisch auffälligen Entwicklers zum Vorschein. Aber das ist auch ein anderes Thema. Nur so viel: Lasst euch nicht ärgern und sei gut organisiert! 😉
Mit einem Pull Request Template besitzt man ein einfaches, aber effektives Werkzeug, um sauber einen PR abzusetzen. Der insbesondere dich aber auch den Reviewern einen schnellen und guten Überblick gibt, was getan wurde und ob das Standardprozedere eingehalten worden ist. Mit Standardprozedere meine ich, ob man bei sich Tests geschrieben, den Linter angestoßen hat etc.
Ich denke, dass an dieser Stelle mal ein Beispiel Template die beste Erklärung wäre. Da dieses sehr selbsterklärend ist.
Changes
Please list changes here
Types of changes
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Assets
QA
Domain
[ ] www vs non-www: redirects to correct domain version
[ ] Relevant redirects are in place
[ ] SSL certificate is valid and the page contains no assets on http urls
Code Quality
[ ] DRY review
[ ] Readability review
[ ] Code linting has been run
[ ] Meets Code Standards (i.e. Typescript, PHP PSR, Python PIP etc)
Creative Review
[ ] Passed creative review
[ ] Colors & image quality checked
[ ] Font and image sizes
[ ] Padding/margins sizes checked
[ ] Tested across responsive screen widths
[ ] Tested at small and large screen heights
Content
[ ] Copy is confirmed as latest from client
[ ] Copy contains no spelling or grammatical errors
[ ] No lorem ipsum or dummy images in the project
[ ] Dynamic text areas have been checked for very large and small amounts of copy
Browser Testing
[ ] Last two versions of Chrome
[ ] Last version of Safari
[ ] Last version of Edge
Device Testing
[ ] Android device
[ ] iPhone standard Model
[ ] iPhone Max Model
Security & GDPR
TBC
Logins
[ ] A user is able to login
[ ] Test or real accounts owned by The Unit have strong passwords
Performance Testing
[ ] Lighthouse Report - Better or no major changes than last release
[ ] Image and other embeded or downloaded files optimised for file size
Forms
[ ] Forms provide clear validation messages
[ ] Forms submit correctly
[ ] Unhappy and unlikely scernarios have been tested
Error handling
[ ] Thrown errors are reported to Sentry
SEO & Social Checks
[ ] Sitemap checked
[ ] Metatags
[ ] Opengraph/social meta
[ ] Robots.txt allow/disallow
Analytics
[ ] Analytics included
[ ] dataLayer is populated in the console
Deployment plan
[ ] Planned for cache clearing after deployment
[ ] Planned for installing Cron schedules
[ ] Planned for making any required Database/Application settings changes
[ ] Planned for making any required hosting changes
[ ] Planned for relevant database backups
Dieses Template hinterlegt man in sein repository in dem .github Ordner. Das sorgt dafür, dass das Template bei jeden PR automatisch geladen wird.
touch .github
vim pull_request_template.md
git add .github/pull_request_template.md && git commit -m “Add pr template”
git push
Dort könnt ihr mit dem Markdown Sprache euer Template definieren. Oder ihr kopiert einfach das obige Beispiel dort rein und passt es an. Viel Spaß bei einem weiteren Schritt Strukturierung in der Programmierung.