Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
What Are Coding Conventions and Why Leave Them to Tools, Not People? Sources, Levels and Team Decisions
The value of a coding convention comes not from the rule itself but from it being settled and enforced by a tool: in Bookstore a one-line discount change was buried in a 55-line diff by editor settings, and .editorconfig plus dotnet format brought it back to one line. The post covers the formatting, style, naming and architecture levels, choosing a source and making the team decision once and recording it.
Teamwork with Git: Branching Strategies, Rulesets and Conventional Commits
Starting from a force push that wipes a teammate's commit, we compare GitHub flow, Git flow and trunk-based development; branch protection versus rulesets, server-side protection with receive.denyNonFastForwards, CODEOWNERS and Conventional Commits.
Pull Requests on GitHub: GitHub Flow, Reviews and Merge Methods
Branch, commit, push and pull request: the six steps of GitHub flow, draft PRs, answering review with new pushes, how the merge commit, squash and rebase methods shape history, the branch-deletion trap after a squash, and keeping a fork in sync with upstream.
Comparing Changes with Git diff
We see with real output which comparison git diff makes between the working tree, the index and HEAD, how to read diff output, summary views like --stat, --name-only and --word-diff, diffs between commits, and the difference between two dots and three dots (--merge-base).