Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Linebreaks in generics

Aperta
#526 13 commenti 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
java
Ambito
tooling

Direzione di ricerca

Inizia riproducendo l’input Java fornito con il formatter e confronta il suo output con il comportamento previsto. Segui il percorso di formattazione dei parametri di tipo generici di classi e metodi, quindi aggiungi un test di regressione per gli esempi; il lavoro è completato quando le liste generiche rimangono su una sola riga, mentre l’andata a capo esistente degli argomenti resta invariata.

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

Descrizione

In testing an upgrade to 1.6.1, we're sometimes seeing line breaks introduced into generics. Seems like this is probably a result of #512. I can see this being useful in pathological cases with extremely long generic type lists, but the issue is that we run prettier with a pretty aggressive line length limit, so we end up seeing split generics even in relatively straight-forward code samples. And it's pretty jarring when you first see it, because as far as I know, splitting generics like this isn't an idiomatic way to format Java (at least I haven't seen it in the wild before).

I tested the prettier-java upgrade on ~1,500 of our internal GitHub repos, and it definitely seemed like, in most cases, this generic splitting was hurting the code readability more than it helped. But curious to get your thoughts on how attached you are to this feature.

Prettier-Java 1.6.1

# Options (if any):

Input:

public abstract class GenericWblGeneratorWithLongName<OBJECT_TYPE, RECORD_TYPE> {

  public static <RECORD, OFFSET> PagedResult<RECORD, OFFSET> appendCustomOffsets(
    Arg arg1,
    Arg arg2
  ) {
    // implementation
  }
}

Output:

public abstract class GenericWblGeneratorWithLongName<
  OBJECT_TYPE, RECORD_TYPE
> {

  public static <
    RECORD, OFFSET
  > PagedResult<RECORD, OFFSET> appendCustomOffsets(Arg arg1, Arg arg2) {
    // implementation
  }
}

Expected behavior:

public abstract class GenericWblGeneratorWithLongName<OBJECT_TYPE, RECORD_TYPE> {

  public static <RECORD, OFFSET> PagedResult<RECORD, OFFSET> appendCustomOffsets(
    Arg arg1,
    Arg arg2
  ) {
    // implementation
  }
}
Lingua principale
Java
Stelle
1.2k
Fork
122
Merge medio
2g 13h
PR unite (30g)
32

Preparare l'ambiente

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.

Altre issue di jhipster/prettier-java

Tutte le issue di jhipster/prettier-java

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.