電子書籍の厳選無料作品が豊富!

マーティン・ファウラーの「リファクタリング」という本を読んでいます。

「メソッドのシグニチャ」という記載があるのですが、これは、メソッドの中身(コード文字列)のことなのでしょうか?

よろしくお願いいたします。

A 回答 (1件)

「メソッドのシグニチャ」というのは、


普通、メソッド名、引数の名前と型、返り値の型のことを指すと思います。
メソッドの中身ではありません。

ある人があるモジュールを使いたい場合、最低限知っておく必要がある情報はそのモジュールの機能とインタフェース仕様です。例えば、フィボナッチ数列のn番目の値を返すfibという関数について考えると、これに引数の型、返り値の型がわかるとこれを使えることになります。この、メソッドを使うための使い方を決める部分がシグニチャです。

シグニチャが同じでも、これの中身は自由に作れます。フィボナッチ数列を漸化式通りに再帰呼び出しをして計算しても良いですし、一度計算したものをメモリーに覚えておくことでその分メモリを使って高速に計算することもできますし、一般項から計算しても良いわけですし、状況に応じてこれを切り替えて使っても良いわけです。

しかし、シグニチャが変化せず、そのメソッドのユニットテストもあるなら、最初に漸化式で作っておいてから後で変更することも簡単に出来ます。ユニットテストが通ることを確認しつつ、あとからメモリーを使って実装に変え、更に高速化するために一般項から計算するものに変えるということもできます。

というわけで、シグニチャというのはそのメソッドを呼び出すためのインタフェース仕様で、普通はメソッド名や引数・返り値の型、どの引数で何を渡すかと思ってもらえたらよいでしょう。
    • good
    • 0
この回答へのお礼

詳しいご回答ありがとうございました。

お礼日時:2012/04/10 12:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!