幾何学的図形を作成するためのAPIを書いていますが、私のメソッドの命名にはいくつかの困難があります。メソッドのワーキングネームのアドバイスが必要
簡単な例を考えてみましょう:円を作成する。私たちのほとんどは、graphics.drawEllipse(x, y, w, h)
のような方法に精通しているかもしれません。円を描くには、左上の座標、円の幅と高さを知る必要があります。
私のAPIは、円では簡単ですが他の図形ではもっと複雑な数学を使わずに、様々な情報を使用して簡単に図形を描くことを目的としています。たとえば、中心座標と半径、または左上と右下の座標を指定して円を描画することもできます。
だから私のようなファクトリメソッドでCircle
クラスを持っている:
Circle.createWithCenterAndRadius(cx, cy, r)
Circle.createWithBoundingBox(x1, y1, x2, y2)
Circle.createWithWidthAndHeight(x, y, w, h)
私はここで、「コードのにおい」があるかもしれないように感じるが、私はよく分かりません。一方では、これらのファクトリメソッドは必然的に説明的です。一方、私はこれらのメソッド名が制御不能になるのを待つことができます。たとえば、ポイント、1つの辺の長さ、角度、別の辺の長さを指定して三角形を作成するTriangleファクトリメソッドの名前を付ける方法はありますか? Triangle.createWithPointSideAngleAndSide(x, y, side1, angle, side2)
?それはちょうど悪いですか?
このAPIを使用する場合、このようなメソッド名は大丈夫ですか?メソッド名をもっとうまくいかにすることができるかアドバイスしていますか?
あなたはどうしましたか? – eglasius
私はJasonの投稿のように、「from」という名前のメソッドを変更しています。私は、kevchadderの投稿に対するJoe_Mのコメントごとに、不必要な部分を削除しています。あなたの流暢なインターフェイスの考え方を考えました。私はJavaを使用しているので、名前付きパラメータはありません。私はSlimのアイデアが好きで、それが実現可能かどうかを見ています。 –
そして、APIの草案を完成させると、私はすぐにやるはずです。 –