git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2] CodingGuidelines: document NEEDSWORK comments

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 12, 2026, 21:22 UTC
Message-ID
<xmqqldgxmzbj.fsf@gitster.g>
In-Reply-To
<xmqqms1ft7il.fsf@gitster.g>

We often say things like /* NEEDSWORK: further _do_ _this_ */ in comments, but it is a short-hand to say "We might later want to do this. We might not. We do not have to decide it right now at this moment in the commit this comment was added. If somebody is inclined to work in this area further, the first thing they need to do is to figure out if it truly makes sense to do so, before blindly doing it.

This seems to have never been documented.  Do so now.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 * reworded with a bit more stress on the possibility that the
   rationale behind NEEDSWORK comment may have gotten stale.
 Documentation/CodingGuidelines | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index df72fe0177..318829d4e4 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -33,6 +33,16 @@ Git in general, a few rough rules are:
    achieve and why the changes were necessary (more on this in the
    accompanying SubmittingPatches document).
 
+ - A label "NEEDSWORK:" followed by description of the things to be
+   done is a way to leave in-code comments to document design
+   decisions yet to be made. 80% of the work to resolve a NEEDSWORK
+   comment is to decide if it still makes sense to do so, since the
+   situation around the codebase may have changed since the comment
+   was written.  It can be a very valid change to remove an existing
+   NEEDSWORK comment without doing anything else, with the commit log
+   message describing a good argument why it does not make sense to do
+   the thing the NEEDSWORK comment mentioned.
+
 Make your code readable and sensible, and don't try to be clever.
 
 As for more concrete guidelines, just imitate the existing code

Interdiff against v1:
  diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
  index b358d6bfb8..318829d4e4 100644
  --- a/Documentation/CodingGuidelines
  +++ b/Documentation/CodingGuidelines
  @@ -36,11 +36,12 @@ Git in general, a few rough rules are:
    - A label "NEEDSWORK:" followed by description of the things to be
      done is a way to leave in-code comments to document design
      decisions yet to be made. 80% of the work to resolve a NEEDSWORK
  -   comment is to decide if it makes sense to do so.  It can be a very
  -   valid change to remove an existing NEEDSWORK comment without doing
  -   anything else, with the commit log message describing a good
  -   argument why it does not make sense to do the thing the NEEDSWORK
  -   comment mentioned.
  +   comment is to decide if it still makes sense to do so, since the
  +   situation around the codebase may have changed since the comment
  +   was written.  It can be a very valid change to remove an existing
  +   NEEDSWORK comment without doing anything else, with the commit log
  +   message describing a good argument why it does not make sense to do
  +   the thing the NEEDSWORK comment mentioned.
   
   Make your code readable and sensible, and don't try to be clever.
   
-- 
2.53.0-248-g282ed54c8f
Previous: Junio C HamanoNext: D. Ben Knoble
Message 4 of 8 in “CodingGuidelines: document NEEDSWORK comments”
  1. CodingGuidelines: document NEEDSWORK commentsJunio C Hamano, Feb 11, 2026
  2. Patrick SteinhardtFeb 12, 2026
  3. Junio C HamanoFeb 12, 2026
  4. CodingGuidelines: document NEEDSWORK commentsJunio C Hamano, Feb 12, 2026
  5. D. Ben KnobleFeb 12, 2026
  6. Junio C HamanoFeb 12, 2026
  7. Oswald BuddenhagenFeb 14, 2026
  8. Junio C HamanoFeb 14, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.