こんにちは
システムチーム / プログラマーのNです。
今年の5月から担当していたシステム案件が先日無事に納品されました。
1からコードを書き、システムを作っていくことは大変だったというのが率直な感想です。
今回は、開発中に感じたことをブログに書きたいと思います。
MVCフレームワーク開発
開発するにあたって、MVCフレームワークを導入しました。
MVCとは簡単に説明すると
・Model :データの処理や操作を担当。データ取得・検証・整形など
・View :最終的な描画を担当 ユーザーが実際に見る画面
・Controller:ModelとViewをつなぎ、管理を担当 Modelへ処理の命令をだし、Modelから処理の結果を受け取り、レスポンスとしてViewへ結果を返す
上記のように処理の役割をわけることによって、読みやすく保守しやすくなるというのがフレームワーク導入のメリットです。
役割以外の処理の記述を禁止し、役割以外のことをしない、させないということです。
私自身、MVCフレームワークを使ってのシステム開発は初めてだったので不安が大きかったです。
作業を進めていくと、自分ではMVCのルールに沿って書いているつもりでも、上司のコードレビューを通すと修正点がいくつも出てきました。
「MVCじゃないけど、ここにこう書いたらすぐなんだけどな」
や
「ファイル数が増えて管理が大変だな」
ということを感じることもありました。
しかし、それは最初のうちだけで、処理を分離して役割を持たし、書く場所を限定的にすることで変更に対応しやすいということに気づきました。
「このテーブルのデータをこうしたい」
と思えばModelに
「UIを変更するからHTMLを追加したい」
と思えばViewに
というふうに、どこに書いたらいいのだろうということがなくなり、ここしかないという判断で作業することができました。
MVCの仕組みと考え方で実装していなければ、もっと大変な開発になっていたと思うのでとても良かったと感じています。
クオリティアップの大変さを痛感
開発中のフェーズの中で、商品として納品できるクオリティにする部分の大変さを痛感しました。
実装フェーズは、自身が書いているということもありコードを把握しながら作業できていました。
しかし、それが商品として納品できるのかということとは話は別です。
ユーザーがストレスなくずっと使っていただくサービスにするために、
1pxのズレ、ボタンを押したときの挙動、表示スピードなどを妥協なく突き詰めます。
開発者としてストレスが発生するフェーズではありますが、
この大変さを経験したことは非常に良かったと今は感じています。
今後の課題
外部システム案件で経験したことを、自社システムの改修にもっと反映したいです。
「自分が自分が」
という作業ベクトルではなく、
「システムのために、そして会社のために」
というベクトルで作業したいと思います。
最後までお読みいただき、ありがとうございました。