microsoft / microsoft/TypeScript

Duplicated jsdoc should error

Aperta
#24,996 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

checkJs Domain: JavaScript In Discussion Suggestion
Lingua principale
Go
Stelle
111k
Fork
14.3k
Merge medio
2g 4h
PR unite (30g)
132

Descrizione

It's possible to document parameters and function expressions 2-3 different places in JSDoc. However, I can't think of a good reason to do so, and I suspect that it's (1) rare (2) by mistake. Here's an example:

/** @param a - the a */
function f(/* an a */ a) {
}

Today gives the jsdoc

 an a
 - the a

But should give an a and an error on @param a: "Duplicate jsdoc".

The problem is even worse in JS, where jsdoc provides types. Here, the innermost type annotation provides the type and the rest are ignored. This should definitely be an error:

/** @param {string} a */
function f(/* @type {number} */ a) {
}

This example should have an error on @param a: "Duplicate jsdoc"

Thanks to @bterlson for this idea.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia tracciando il modo in cui TypeScript analizza e unisce JSDoc sui parametri e sulle espressioni di funzione, usando i due esempi nell’issue come casi di riproduzione. Il lavoro è completato quando la documentazione duplicata dei parametri e le annotazioni di tipo inline in conflitto producono un errore "Duplicate jsdoc", preservando il comportamento diagnostico specificato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, typescript
Ambito
compilers
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.