YAGNI
YAGNI – Wikipedia
You ain’t gonna need it
機能は実際に必要となるまでは追加しないのがよい
ソースコードは短い方が良い。→ 読みやすい・理解しやすい・バグが出にくい
とりあえずテストにパスするコードを書いて、あとのリファクタリングでソースコードを整理するというやり方でもよい。
KISSの原則
KISSの原則
Wikipedia の YAGNI のページに関連リンクがある。
Keep it simple stupid の略語。
ファイルアップロード
ファイルアップロードは、Springの公式サイトに書いてある実装がわかりやすい。
Getting Started · Uploading Files – Spring
ファイルを保存する処理は、Webページには書かれてなく、ZIPファイルをダウンロードした中の FileSystemStorageService クラス内にある。
Serviceクラスを作ってもいいが、必要な部分をコントローラにコピーしてもよい。
@RequestMapping(value = "アップロード先URL", method = RequestMethod.POST)
public String handleFileUpload(@RequestParam("file") MultipartFile file, Model model) {
// file を保存
String filename = StringUtils.cleanPath(file.getOriginalFilename());
try {
if (file.isEmpty()) {
throw new StorageException("空のファイルです " + filename);
}
if (filename.contains("..")) {
// This is a security check
throw new StorageException("ファイル名に「..」が含まれてます " + filename);
}
Files.copy(file.getInputStream(), Paths.get("保存先ファイル名"),
StandardCopyOption.REPLACE_EXISTING); // 上書き
} catch (IOException e) {
throw new StorageException("Failed to store file " + filename, e);
}
return "uploadcomplete"; // 完了後に表示するjsp
}