Step2:可読性を高めるためのメソッドの抽出
ファイル取得の部分をメソッドに切り出してみたー。getFilesというメソッドを作成しました
@Path("/")
public class Step2Action extends Action {
...
public ActionResult step2() {
foodFiles = getFiles("/images/food");
animalFiles = getFiles("/images/animal");
landscapeFiles = getFiles("/images/landscape");
foodSize = FileUtil.sizeOfFiles(foodFiles);
animalSize = FileUtil.sizeOfFiles(animalFiles);
landscapeSize = FileUtil.sizeOfFiles(landscapeFiles);
return new Forward("step2.jsp");
}
private File[] getFiles(String path) { ┓
File[] files = new File(context.getRealPath(path))|
.listFiles(); |
return files; |
} ┛①
}
確かに何をやっているのかわかりやすく読みやすくなったっすね。ついでに、
public class FileUtil {
public static long sizeOfFiles(File[] files) {
long totalSize = 0;
for (File file : files) {
totalSize += file.length();
}
return totalSize;
}
}
かなりすっきりしてきたのう。ほかに気になるところはあるかのう?
ディレクトリの数が3つ固定という前提で作られているのが最初から気になっていたっす。4つに増えたらどうなるっすか?
たとえば、
ここはいよいよ抽象化するしかないんじゃない??達人プログラマ、
ふぉっふぉっふぉっ、
じゃあ、
まあ、
私が気になるのは
グッドポイント。抽象化の前にデータ構造の整理をしておくぞ。
そうなんですね! ちょっとやってみます!!