Java の素描 #018:《余録》リファクタリングの詳細な手順
‖記事一覧‖ Java.use(better, Swing=Jython) #FIFA World Cup への道《Jython2.5》
Java の素描 〜 Jython 弾丸ツアー:時短プログラミング生活のすすめ 〜
《著》森こねこ、伊藤うさぎ、小粒ちゃん@湘南組《監修》タマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2006/04/03 ● 第3版♪2010/06/11
|関連記事|
Step18:《余録》リファクタリングの詳細な手順
■ メソッドを抽出する
メソッド _controlPane を抽出するまでの、詳細な手順を示します。
## ---------------------------------------- before class TopPanel(JPanel): def __init__(self, master, *args, **keys): ... def leftComponent(group): listData = WcModel.teamsBelongTo(group) view = JList( listData, # java.util.Vector valueChanged = self, ) comp = JScrollPane( viewportView = view, preferredSize = (120,150), ) return comp
ここでは、メソッド leftComponent を事例として取り上げます。
## ---------------------------------------- after #1 def _controlPane(self, group, **keys): def leftComponent(group): listData = WcModel.teamsBelongTo(group) view = JList( listData, # java.util.Vector valueChanged = self, ) comp = JScrollPane( viewportView = view, preferredSize = (120,150), ) return comp
class に続いて、新たなクラス WcModel を定義した後に、クラス変数 groups の設定を移動します。
## ---------------------------------------- before def __init__(self, master, *args, **keys): ... def splitPane(group): comp = JSplitPane( ... topComponent =leftComponent(group), ... ## ---------------------------------------- after #2 def __init__(self, master, *args, **keys): ... def splitPane(group): comp = JSplitPane( ... topComponent = self._controlPane(group), ...
局所関数 leftComponent に代えて、新たなメソッド _controlPane を利用します。
》作業中です《