たとえば、私argonaut
たちのプロジェクトのいくつかでは、JSON を処理する必要がある場合、人々はそのためにアルゴナウトを使用し、次のようにフィールドをハードコーディングします。
implicit def AddressCodecJson: CodecJson[Address] =
casecodec3(Address.apply, Address.unapply)("street", "number", "post_code")
大きなケース クラスがある場合、リストは非常に長くなります。
implicit def AddressCodecJson: CodecJson[Address] =
casecodec12(Address.apply, Address.unapply)("street", "number", "post_code", "...", "...", "...", "...", "...", "...", "...", "...", "...")
私の質問は、リフレクションによってフィールドを取得するのではなく、なぜそれらをハードコーディングする必要があるのですか?
技術的な問題はありますか? それとも、Scala ライブラリを設計するときにリフレクションを使用するのが嫌いなだけですか?