頭の中だけでは上手く考えられない場合の行動
ファイルのアップロードが、新規アップロードなのか更新アップロードなのか、どうすれば判定できるのか考えた結果です。
- システムにログインした際に、アップロード済ファイル名を変数savedに保存する。アップロード済ファイルがなければ、savedに空を保存する。アップロードされたファイル名を保存している変数uploadも同様に値を保存する。
- ファイルが選択され、登録内容確認画面に進んだら、ファイルをアップロードし、uploadにファイル名を保存する。ファイルさ選択されずに登録内容確認画面に進んだら、uploadは変更しない。
- 登録完了ボタンを押された際に、uploadとsavedを比較する。
- uploadとsavedが同じなら、ファイルは未更新と判定する。
- uploadとsavedが異なり、savedが空だったら、ファイルの追加と判定する。
- uploadとsavedが異なり、savedが空ではなくuploadが空でなければ、ファイルは更新と判定する。
- uploadとsavedが異なり、savedが空ではなくuploadが空だったら、ファイルは未更新と判定する。
実際は紙に文字を書いて、丸で囲み、線をつなぎながら判定条件を書いていき、考えていました。
頭の中で思いつける人はどんどん進められるのでしょうが、僕の場合は紙に書いて大雑把にでも視覚化しないと、間違った考え方をしていても気づけません。
紙に書いて頭の中を整理した上で、システムの既存のソースコードを確認したところ、すぐに理解できました。