From c0cbb71d267284ce0d425656edf00779bbf45432 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Fri, 25 Sep 2026 19:18:23 +0200 Subject: [PATCH] Define what one meaning is in the naming decision --- docs/decisions.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/decisions.md b/docs/decisions.md index 2389f2e..4abc5f2 100644 --- a/docs/decisions.md +++ b/docs/decisions.md @@ -310,11 +310,12 @@ file the stem of the units it holds. ## One name, one meaning Two declarations of any kind — function, method, field, type — share a name only where -they name one thing: an interface's method, `Fake` on each template kind, a field -holding what a same-named method returns, `renderScope.hold` answering with a `*hold`. -A bare function never shares a name with a method, since grep cannot tell a bare call -from a method's; `TestNoFunctionSpellsAMethod` holds that, and review judges the rest, -which is meaning no test can see. Serves goal 2: names that tell the truth, and reaching +one definition covers both: the same kind of value, counted or addressed the same way, so +a reader landing on the wrong one concludes nothing false. `Fake` on each template kind +renders one value from what it is called on; `renderScope.hold` returns the `*hold` it +names. A bare function never shares a name with a method: a search for the name returns +both, and a call site shows no receiver to tell them apart. `TestNoFunctionSpellsAMethod` +holds that, and review judges the rest. Serves goal 2: names that tell the truth, and reaching the unit behind a symptom without asking a person. Decided 2026-09-25 by Lilleman; valid while goal 2 counts reading cost.