---
title: "#codereview articles | Hashnode"
description: "Explore 54 articles tagged #codereview on Hashnode. Tutorials, guides, and how-tos from the community."
url: "https://hashnode.com/tag/codereview"
---

Tag

# #codereview

54 posts · 4 followers

[Parsa Mohammadi](https://hashnode.com/@tomosu) · [1d ago](https://hashnode.com/posts/code-churn-why-the-files-that-change-most-break-most/6af394ab62b23cd06187233e)

### [Code Churn: Why the Files That Change Most Break Most](https://tomosu.hashnode.dev/code-churn-why-the-files-that-change-most-break-most?utm_source=hashnode&utm_medium=feed)

Code churn is how much a file changes over a period of time: lines added, lines deleted, and how many separate commits touched it. High churn concentrated in a small set of files is one of the more re

10 min read · [tomosu.hashnode.dev](https://tomosu.hashnode.dev/code-churn-why-the-files-that-change-most-break-most?utm_source=hashnode&utm_medium=feed)

[Iliya Oblakov](https://hashnode.com/@iliyaoblakov) · [2d ago](https://hashnode.com/posts/codex-keeps-returning-changes-required-sort-the-finding-before-claude-code-edits-again/6af228ac5c3cb843e8c87313)

### [Codex keeps returning CHANGES REQUIRED: sort the finding before Claude Code edits again](https://iliyaoblakov.hashnode.dev/codex-keeps-returning-changes-required-sort-the-finding-before-claude-code-edits-again?utm_source=hashnode&utm_medium=feed)

One more Claude Code edit won't end a Codex review that keeps returning CHANGES REQUIRED. Each speculative patch gives the reviewer new code to comment on, so every pass comes back with new comments.

7 min read · [iliyaoblakov.hashnode.dev](https://iliyaoblakov.hashnode.dev/codex-keeps-returning-changes-required-sort-the-finding-before-claude-code-edits-again?utm_source=hashnode&utm_medium=feed)

[ZyVOP](https://hashnode.com/@zyvop) · [6d ago](https://hashnode.com/posts/git-github-workflows-branches-pull-requests-and-code-review-ntiub/6aed85fd811efc2e7c995317)

### [Git & GitHub Workflows: Branches, Pull Requests, and Code Review](https://blog.zyvop.com/git-github-workflows-branches-pull-requests-and-code-review-ntiub?utm_source=hashnode&utm_medium=feed)

Learn Git as a safety net: commits, branches, merges, and undoing mistakes, then use GitHub pull requests and code review the way professional teams do.

30 min read · [blog.zyvop.com](https://blog.zyvop.com/git-github-workflows-branches-pull-requests-and-code-review-ntiub?utm_source=hashnode&utm_medium=feed)

[Parsa Mohammadi](https://hashnode.com/@tomosu) · [Nov 4](https://hashnode.com/posts/coderabbit-vs-tomosu-code-review-and-a-reliability-gate-on-the-same-pull-request/6aeb3b7ec0deda1c04e05957)

### [CodeRabbit vs Tomosu: Code Review and a Reliability Gate on the Same Pull Request](https://tomosu.hashnode.dev/coderabbit-vs-tomosu-code-review-and-a-reliability-gate-on-the-same-pull-request?utm_source=hashnode&utm_medium=feed)

Written by the Tomosu team, so read it as a vendor's comparison. CodeRabbit details come from CodeRabbit's public pricing page and docs, checked November 2, 2026. CodeRabbit runs a review workflow. A

10 min read · [tomosu.hashnode.dev](https://tomosu.hashnode.dev/coderabbit-vs-tomosu-code-review-and-a-reliability-gate-on-the-same-pull-request?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 29](https://hashnode.com/posts/coverage-number-hides-untested-failure-branch/6ae38191eb3f5bc237613221)

### [The Coverage Number Climbs While the Costly Branch Stays Untested](https://blogs.powerduck.com/coverage-number-hides-untested-failure-branch?utm_source=hashnode&utm_medium=feed)

A 94% coverage badge counts a trivial getter the same as the branch where a payment fails mid-flight. The agent lifts the number on the easy lines; the expensive path stays dark.

3 min read · [blogs.powerduck.com](https://blogs.powerduck.com/coverage-number-hides-untested-failure-branch?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 27](https://hashnode.com/posts/agent-explained-the-fix-in-thread-never-opened-pr/6ae0ecc9ce4bd144d930e680)

### [The agent explained the fix in the thread and never opened a pull request](https://blogs.powerduck.com/agent-explained-the-fix-in-thread-never-opened-pr?utm_source=hashnode&utm_medium=feed)

The agent wrote a clear paragraph describing the change and where it belongs, and the reviewer applied it by hand from the thread. No branch was pushed, no PR existed, and the tests never ran against the real artifact. A written explanation of a fix is not the same thing as shipped code.

3 min read · [blogs.powerduck.com](https://blogs.powerduck.com/agent-explained-the-fix-in-thread-never-opened-pr?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 25](https://hashnode.com/posts/agent-edited-lookalike-function-left-real-caller/6ade6ad886955cf36934bd91)

### [The agent patched the lookalike function from a keyword search, so the failing symbol stayed broken](https://blogs.powerduck.com/agent-edited-lookalike-function-left-real-caller?utm_source=hashnode&utm_medium=feed)

Keyword search returned the normalize family, the agent picked the first match, refactored normalizeEmail, wrote its own green tests, and left the failing normalizePhone path untouched. Pin the traceback symbol, run the original repro before and after, and check callers against the failing request.

4 min read · [blogs.powerduck.com](https://blogs.powerduck.com/agent-edited-lookalike-function-left-real-caller?utm_source=hashnode&utm_medium=feed)

[Gaurav Sharma](https://hashnode.com/@gauravsharmagg) · [Oct 25](https://hashnode.com/posts/how-to-evaluate-an-ai-code-review-tool-for-github-pull-requests/6adda8f676ce72f6a3cf4c5b)

### [How to evaluate an AI code review tool for GitHub pull requests](https://gauravsharmagg.hashnode.dev/how-to-evaluate-an-ai-code-review-tool-for-github-pull-requests?utm_source=hashnode&utm_medium=feed)

A practical 10-PR checklist for choosing an AI pull request reviewer: where its rules come from, whether it can stop a merge, and where your code goes.

11 min read · [gauravsharmagg.hashnode.dev](https://gauravsharmagg.hashnode.dev/how-to-evaluate-an-ai-code-review-tool-for-github-pull-requests?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 24](https://hashnode.com/posts/agent-keeps-polishing-after-task-passed/6adcf8a12a992bef4f8d24ad)

### [The agent kept polishing after the task passed, and buried the fix under unrelated refactors](https://blogs.powerduck.com/agent-keeps-polishing-after-task-passed?utm_source=hashnode&utm_medium=feed)

Given a narrow fix, the agent ships it green, then keeps "improving" neighboring code in the same loop until the diff grows past review. A green test proves the step ran, not that the task ended; an autonomous loop needs a written off-ramp, not an open-ended "clean it up."

4 min read · [blogs.powerduck.com](https://blogs.powerduck.com/agent-keeps-polishing-after-task-passed?utm_source=hashnode&utm_medium=feed)

[1](https://hashnode.com/posts/agent-keeps-polishing-after-task-passed/6adcf8a12a992bef4f8d24ad)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 24](https://hashnode.com/posts/dead-code-flag-misses-string-keyed-dispatch/6adceab653b55bc9bb9864cb)

### [The reviewer flagged the helper as dead code, but a string in the config was the only caller](https://blogs.powerduck.com/dead-code-flag-misses-string-keyed-dispatch?utm_source=hashnode&utm_medium=feed)

A reviewer flags processRefundLegacy as unused: no direct caller, no test, clean deletion diff. A string key in a dispatch table under a non-default flow reaches it, and removal breaks production. Why static reachability misses registry routing and the checks that prove a function is truly dead.

3 min read · [blogs.powerduck.com](https://blogs.powerduck.com/dead-code-flag-misses-string-keyed-dispatch?utm_source=hashnode&utm_medium=feed)
