タグ

2022年8月12日のブックマーク (2件)

  • Javaでプログラムを書く際に意識しておきたいこと - 覚えたら書く

    以下、個人的にJavaでプログラムを書く際に意識しておきたいことです。 ただし、学術的な裏付けなどがある内容でありません。あくまで私の経験に由来する内容となっています。 そもそもコンテキストによってはそぐわない内容もあると思いますので、その辺はうまいことスルーしてもらえたらと思います。 Collection 空のList メソッドの戻り値として空(size==0)のListを返却する場面がありますが、その場合はCollections.emptyListを使うのが良いです。 new ArrayList()でListを生成してreturnするよりも、処理も早くコードの意味も分かりやすくなります。 ただし、このメソッドで返されるListはImmutable(不変)であることを理解しておく必要があります。 Collectionsクラスには、空Setや空Mapを返すメソッドも用意されています。 大量

    Javaでプログラムを書く際に意識しておきたいこと - 覚えたら書く
  • バリューオブジェクト - Martin Fowler's Bliki (ja)

    http://martinfowler.com/bliki/ValueObject.html プログラミングをする時、物事を複合物として表現すると便利だと思うことがよくあります。 例えば、2次元座標はx軸とy軸で構成されます。お金の額面は数値と通貨で構成されます。日付の範囲は開始日と終了日で構成されます。日付は年、月、日で構成されることもあります。 これを実践してみると、2つの複合オブジェクトが同じものであるかどうかという疑問が湧いてきます。 例として、2つの点オブジェクトを考えてみましょう。それらは両方とも(2,3)のデカルト座標を示しています。この2つの点オブジェクトを等価として扱うことは理にかなっています。 プロパティの値が同じであるオブジェクト(この場合のプロパティはx座標とy座標)はバリューオブジェクトと呼ばれます。 しかしながら注意してプログラミングしないと、意図した動作になら