* [PATCH] CodingGuidelines: document NEEDSWORK comments
@ 2026-02-11 19:17 Junio C Hamano
2026-02-12 7:10 ` Patrick Steinhardt
2026-02-12 21:22 ` [PATCH v2] " Junio C Hamano
0 siblings, 2 replies; 8+ messages in thread
From: Junio C Hamano @ 2026-02-11 19:17 UTC (permalink / raw)
To: git
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>
---
Documentation/CodingGuidelines | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index df72fe0177..b358d6bfb8 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -33,6 +33,15 @@ 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 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.
+
Make your code readable and sensible, and don't try to be clever.
As for more concrete guidelines, just imitate the existing code
--
2.53.0-247-g50a2c88be3
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] CodingGuidelines: document NEEDSWORK comments
2026-02-11 19:17 [PATCH] CodingGuidelines: document NEEDSWORK comments Junio C Hamano
@ 2026-02-12 7:10 ` Patrick Steinhardt
2026-02-12 15:35 ` Junio C Hamano
2026-02-12 21:22 ` [PATCH v2] " Junio C Hamano
1 sibling, 1 reply; 8+ messages in thread
From: Patrick Steinhardt @ 2026-02-12 7:10 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Wed, Feb 11, 2026 at 11:17:06AM -0800, Junio C Hamano wrote:
> 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.
I noticed recently that there have been multiple patch series that
blindly turn such NEEDSWORK comments into code. But I agree with you,
the first and most important thing that such an author would need to
worry about is whether the comment still applies, and what the
ramifications of it are.
I almost feel as if NEEDSWORK is a bit of a misnomer, and that something
like NEEDSTHOUGHTS would be a much better fit. But I don't have any
intent to change that throughout our code base right now.
> diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
> index df72fe0177..b358d6bfb8 100644
> --- a/Documentation/CodingGuidelines
> +++ b/Documentation/CodingGuidelines
> @@ -33,6 +33,15 @@ 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 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.
Documenting is a good first step, but I have to wonder whether such
authors would even discover this. But even if not, it means that we have
an easy place to point to going forward.
Thanks!
Patrick
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] CodingGuidelines: document NEEDSWORK comments
2026-02-12 7:10 ` Patrick Steinhardt
@ 2026-02-12 15:35 ` Junio C Hamano
0 siblings, 0 replies; 8+ messages in thread
From: Junio C Hamano @ 2026-02-12 15:35 UTC (permalink / raw)
To: Patrick Steinhardt; +Cc: git
Patrick Steinhardt <ps@pks.im> writes:
> I almost feel as if NEEDSWORK is a bit of a misnomer, and that something
> like NEEDSTHOUGHTS would be a much better fit. But I don't have any
> intent to change that throughout our code base right now.
I somewhat disagree with this, by the way. Thinking has to be the
first step of working for anybody. It is not like somebody thinks
things through thoroughly and writes an instruction to do these in
comments, only to be implemented by somebody else who does not have
to think.
>> diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
>> index df72fe0177..b358d6bfb8 100644
>> --- a/Documentation/CodingGuidelines
>> +++ b/Documentation/CodingGuidelines
>> @@ -33,6 +33,15 @@ 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 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.
I wonder if adding a "still" there, i.e.,
... decide if it still makes sense to do so.
makes our intent clearer.
> Documenting is a good first step, but I have to wonder whether such
> authors would even discover this. But even if not, it means that we have
> an easy place to point to going forward.
Yup.
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] CodingGuidelines: document NEEDSWORK comments
2026-02-11 19:17 [PATCH] CodingGuidelines: document NEEDSWORK comments Junio C Hamano
2026-02-12 7:10 ` Patrick Steinhardt
@ 2026-02-12 21:22 ` Junio C Hamano
2026-02-12 22:22 ` D. Ben Knoble
2026-02-14 10:19 ` Oswald Buddenhagen
1 sibling, 2 replies; 8+ messages in thread
From: Junio C Hamano @ 2026-02-12 21:22 UTC (permalink / raw)
To: git; +Cc: Patrick Steinhardt
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2] CodingGuidelines: document NEEDSWORK comments
2026-02-12 21:22 ` [PATCH v2] " Junio C Hamano
@ 2026-02-12 22:22 ` D. Ben Knoble
2026-02-12 22:33 ` Junio C Hamano
2026-02-14 10:19 ` Oswald Buddenhagen
1 sibling, 1 reply; 8+ messages in thread
From: D. Ben Knoble @ 2026-02-12 22:22 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Patrick Steinhardt
Small nit:
On Thu, Feb 12, 2026 at 4:23 PM Junio C Hamano <gitster@pobox.com> wrote:
>
> 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>
The opening quote '"We might later…' doesn't appear to ever get closed.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] CodingGuidelines: document NEEDSWORK comments
2026-02-12 22:22 ` D. Ben Knoble
@ 2026-02-12 22:33 ` Junio C Hamano
0 siblings, 0 replies; 8+ messages in thread
From: Junio C Hamano @ 2026-02-12 22:33 UTC (permalink / raw)
To: D. Ben Knoble; +Cc: git, Patrick Steinhardt
"D. Ben Knoble" <ben.knoble@gmail.com> writes:
> Small nit:
>
> On Thu, Feb 12, 2026 at 4:23 PM Junio C Hamano <gitster@pobox.com> wrote:
>>
>> 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>
>
> The opening quote '"We might later…' doesn't appear to ever get closed.
Yikes. Thanks for spotting.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] CodingGuidelines: document NEEDSWORK comments
2026-02-12 21:22 ` [PATCH v2] " Junio C Hamano
2026-02-12 22:22 ` D. Ben Knoble
@ 2026-02-14 10:19 ` Oswald Buddenhagen
2026-02-14 15:36 ` Junio C Hamano
1 sibling, 1 reply; 8+ messages in thread
From: Oswald Buddenhagen @ 2026-02-14 10:19 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Patrick Steinhardt
On Thu, Feb 12, 2026 at 01:22:56PM -0800, Junio C Hamano wrote:
>+ - A label "NEEDSWORK:" followed by description of the things to be
>
by [a] description
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2] CodingGuidelines: document NEEDSWORK comments
2026-02-14 10:19 ` Oswald Buddenhagen
@ 2026-02-14 15:36 ` Junio C Hamano
0 siblings, 0 replies; 8+ messages in thread
From: Junio C Hamano @ 2026-02-14 15:36 UTC (permalink / raw)
To: Oswald Buddenhagen; +Cc: git, Patrick Steinhardt
Oswald Buddenhagen <oswald.buddenhagen@gmx.de> writes:
> On Thu, Feb 12, 2026 at 01:22:56PM -0800, Junio C Hamano wrote:
>>+ - A label "NEEDSWORK:" followed by description of the things to be
>>
> by [a] description
Thanks.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-02-14 15:36 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-11 19:17 [PATCH] CodingGuidelines: document NEEDSWORK comments Junio C Hamano
2026-02-12 7:10 ` Patrick Steinhardt
2026-02-12 15:35 ` Junio C Hamano
2026-02-12 21:22 ` [PATCH v2] " Junio C Hamano
2026-02-12 22:22 ` D. Ben Knoble
2026-02-12 22:33 ` Junio C Hamano
2026-02-14 10:19 ` Oswald Buddenhagen
2026-02-14 15:36 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox