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() に変更します。
他のメソッドについても同様です。
》作業中です《