Java の素描 #005:《余録》リファクタリングの詳細な手順

記事一覧 Java.use(better, Swing=Jython) #FIFA World Cup への道《Jython2.5》

Java の素描 Jython 弾丸ツアー:時短プログラミング生活のすすめ 〜

《著》森こねこ、伊藤うさぎ、小粒ちゃん@湘南組《監修》タマゴ倶楽部

第1版♪2003/05/23 ● 第2版♪2006/04/03 ● 第3版♪2010/06/11

Step05:《余録》リファクタリングの詳細な手順

■ メソッド(局所関数)を抽出する

3つのメソッド(splitPane, leftComponent, rightComponent)を抽出するまでの、詳細な手順を示します。

## ---------------------------------------- before
        label1 = JLabel(
            icon = ImageIcon("matches/wc2010logo.png"),
            text = u"2010 FIFA World Cup South Africa™",
            ...
            )

ここでは、メソッド leftComponent を事例として取り上げます。

## ---------------------------------------- after #1
        def leftComponent():
        label1 = JLabel(
            icon = ImageIcon("matches/wc2010logo.png"),
            text = u"2010 FIFA World Cup South Africa™",
            ...
            )

メソッドとして抽出したいコードの断片の手前に、def に続くメソッドのヘッダーを挿入します。

## ---------------------------------------- after #2
        def leftComponent():
            label1 = JLabel(
                icon = ImageIcon("matches/wc2010logo.png"),
                text = u"2010 FIFA World Cup South Africa™",
                ...
                )

メソッドの本体になるコードの断片に対して、そのインデントを深く設定します。

## ---------------------------------------- after #3
        def leftComponent():
            comp = JLabel(
                icon = ImageIcon("matches/wc2010logo.png"),
                text = u"2010 FIFA World Cup South Africa™",
                ...
                )
            return comp

局所変数の名前を label1 から comp に変更して、メソッド本体の末尾に return 文を追記します。

## ---------------------------------------- before
        splitPane = JSplitPane(
            ...
            leftComponent  = label1,
            rightComponent = label2,
            )
## ---------------------------------------- after
        splitPane = JSplitPane(
            ...
            leftComponent  = leftComponent(),
            rightComponent = label2,
            )

実引数に指定した局所変数 label1 を、メソッド呼び出し leftComponent() に変更します。

他のメソッドについても同様です。

》作業中です《


関連記事

TOP

Last updated♪2010/07/30