Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Records with annotations on components are formatted pretty badly

未關閉
#921 3 則留言 14 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
42/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
java
領域
tooling

研究方向

使用 google-java-format 重現所示的 record 和 class 範例,然後比較 record 元件上的註解如何排列。從失敗的輸入開始,追蹤格式化器對 record 元件和註解的處理;當帶有註解的 record 元件能與 class 範例一致地進行格式化(包括多行註解)時,即表示完成。

由索引模型根據 Issue 內容生成。

描述

Example output by google-java-format on a record:

public record MyRecord(
    @NotNull String firstName,
    String lastName,
    @NotEmpty List<String> friends,
    @MyAnnotation(
            propA = "The brown fox jumps over the lazy cat......",
            propB = 11,
            type = java.lang.Object.class)
        @HelloWorld
        String hello,
    String world,
    @Positive int numberA,
    @MyAnnotation(propA = "The brown fox jumps over the lazy cat", type = java.lang.Object.class)
        @HelloWorld
        String hello) {}

Compare to if it was a class:

public class MyClass {

  @NotNull String firstName;

  String lastName;

  @NotEmpty List<String> friends;

  @MyAnnotation(
      propA = "The brown fox jumps over the lazy cat......",
      propB = 11,
      type = Object.class)
  @HelloWorld
  String hello;

  String world;

  @Positive int numberA;

  @MyAnnotation(propA = "The brown fox jumps over the lazy cat", type = Object.class)
  @HelloWorld
  String hello;
}
主要語言
Java
星號
6.2k
分支
940
平均合併
7 小時 46 分鐘
30 天內合併 PR
11

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

google/google-java-format 的其他 Issue

查看 google/google-java-format 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。