前回に引き続き、大事だと思ったこと。一部単なるフレームワークの作り方的な内容になっているかも。
テンプレート共通化
ラジオ、セレクト、チェックボックスなどはテンプレート化しておき、1行もしくは数行で処理がかけるようにしておくこと。
バリデーション
エラーのタイプを設定ファイルなどに定義しておき、できれば本来のロジックはほとんどいじらずにバリデーションチェックができるようにしておくこと
なおイレギュラーパターンに対応できるようにそうでないパターンにも対応できるようにしておくこと。
ログ出し
ログをまめに出す。もちろんレベル分けを行う。
具体的には下記のような段階
- SQL(重要度で言うと最低、いわゆるdebugレベル)
- 何らかの処理の開始と終了。処理のメモなど(infoレベル)
- 望ましくないところ、あるいは異常系の処理(warn,またはerror)
異常系の処理
DBの前後は必ずtry〜catch・・で挟み異常処理が発生した場合に、rollbackできるようにしておくこと。
異常があった場合、
- 全ての処理を終わらせるのか?
- 特定の処理だけを終わらせるのか
をしっかりと分けること。
もちろんログの記録は単なるエラーではなくスタックトレース的なものがしっかりと吐かれていることが大切。
新規プラグイン+新規ライブラリ調査
もっとも時間がかかり、知識などで対応できないこともあるので厄介。
シンプルで最小構成のサンプルなどを用意しておき、試しておき、現在のアプリに対応できるようにすること。
CSSフレームワークの活用+頻出CSSについて
プログラム同様、フロントエンドでも頻出のCSS、関数などに関してあらかじめ定義しておき、一発で反映できるようにしておくこと。
個人的にCSSフレームワークはBulumaがおすすめ。
例
- mobile時、pc時のみ表示できるCSS
- テーブル
- チェックボックス(ラジオ、セレクト)+ラベル
- flexの組み合わせ(justify-content,align-itemsの組み合わせをあらかじめ作っておく)
- 関数に関してはPC、SPをすぐに反映できるタイプのものにする。