You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: client/plugin/lang/java.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,3 +58,25 @@ See LICENSE.md in the project root for license terms.
58
58
|`i += 1`| Hides intent for simple increment/decrement |`++i` (or `i++` when expression semantics require postfix) |
59
59
|`i -= 1`| Hides intent for simple increment/decrement |`--i` (or `i--` when expression semantics require postfix) |
60
60
| Test package names with internal `.test.` component (for example `a.b.test.c`) | Inconsistent package topology | End test package names with `.test` (for example `a.b.c.test`) |
61
+
62
+
## Javadoc Terminology
63
+
Project rule (required): Javadoc must be understandable to a reader who is new to this codebase. Never assume familiarity with internal/project-specific terms.
64
+
Assume users/readers are unfamiliar with project jargon unless that term is defined in the same Javadoc block or linked to its canonical definition.
65
+
66
+
Terminology clarity requirement: for every project-specific term, Javadoc must either define it in place or link to the canonical definition section in another file. Do not leave jargon unexplained.
67
+
This explicitly includes terms like `setup-input`, `topic`, `topic files`, `carry-forward`, and other workflow-specific labels.
68
+
69
+
Required behavior: every project-specific term in Javadoc (for example workflow labels, abbreviations, and acronyms such as `setup-input`, `SPRT`, `topic files`, `carry-forward`) must do one of the following at first use in that Javadoc block:
70
+
1. Define the term inline in that Javadoc block.
71
+
2. Link to the exact canonical file/section that defines the term.
72
+
73
+
If no canonical definition exists yet, create one in project docs first, then link to that new canonical section.
74
+
This applies to class docs, method docs, field docs, and all tags (`@param`, `@return`, `@throws`, `@see`, etc.).
75
+
This is mandatory for all project-specific terminology.
76
+
Review enforcement: any Javadoc that uses project-specific terminology without an inline definition or canonical link is non-compliant and must be fixed before merge.
77
+
78
+
| Pattern | Issue | Fix |
79
+
|---------|-------|-----|
80
+
| Javadoc uses any project-specific term (for example `setup-input`, `topic files`, `carry-forward`) without definition | Readers cannot infer exact meaning, causing misuse and brittle maintenance | Javadoc **must** define every project-specific term at first use, or link to the canonical file/section that defines it |
81
+
| Javadoc assumes reader familiarity with internal workflow jargon | New contributors and external reviewers misinterpret behavior and constraints | Do **not** assume familiarity: include a short in-place definition or a direct link to the canonical terminology file/section |
82
+
| Javadoc links to a vague location (for example just a directory or repo root) instead of a canonical definition | Readers still cannot resolve terminology precisely | Link to the exact defining document/section (for example a specific skill/rule section or glossary heading), not a broad parent location |
0 commit comments