RFC: Handling of ambiguous comment blocks
Open
Nobody has claimed this yet.
request for comments
- Dominant language
- TypeScript
- Stars
- 5k
- Forks
- 162
- Avg merge
- 17h 24m
- Merged PRs (30d)
- 8
Description
Consider the following TypeScript source file:
/** [1]
* @file Copyright (c) Example Corporation
*/
/** [2]
* The Widget class
*/
// [3] TODO: This class needs to be refactored
export class Widget {
/** [4]
* The width of the Widget class
*/
// [5] private width: string;
/* [6] Renders the class */
public render(): void {
}
/**
* [7] The height of the widget
*/
public get height(): number {
}
// [8] This is a setter for the above getter
/**
* [9] Sets the height
*/
public set height(value: number) {
}
}
Which comments are associated with which API items?
We might expect a documentation tool to associate the comments as follows:
- Widget: Uses [2] as its doc comment
- Widget.render: No doc comment, but warn that [6] looks like it was intended to be JSDoc, and warn that [4] doesn't seem to be attached to anything
- Widget.height: Normally setters/getters are documented as one API item, so use [7] and report a warning for [9]
Does this make sense? Is there an unambiguous algorithm for selecting the right comment?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the numbered TypeScript example and the proposed associations in this issue. Define an unambiguous rule for selecting doc comments and handling getter/setter pairs, including warnings for [4], [6], and [9]; done means the behavior and warning cases are agreed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100