Railsアプリケーションの反省と次なる課題

今日は初めてのRailsのアプリケーション制作にあたり沢山の直すべき反省点を知ることができたので8つまとめていきます。

 1つ目は設計せずに計画です。

思考、研究、計画、実装、検証、修正。

良いプログラムは、適切なフローに従って書かれるものです。

 

 このように事前の思考と研究が必要だったことを痛感させられました。Railsチュートリアルの実装からまずやって後から応用していけばいいか。といきなりコードを書き始めてしまいました。

考える前に話すことで後悔することがあるかもしれない、と考えるの同様に、考える前にコーディングすることで後悔することがあるかもしれない、と考える必要があります。曖昧なまま始めたので次第に汚くなっていき非常に見にくいコードになってしまいました。

課題としては事前にどんな形にしていくか計画し、実装手順をある程度立ててから取り組みたいと思います。

 2つ目はリファクタリングです。

これは1つ目の反省点とも紐づきますが計画せずに書き始めたことで重複する部分が出てきたりと、非常に見にくいコードになってしまいました。コードはいずれレビューされ評価されリリースされていきます。より少なくより簡潔により美しく書いていくことが重要だと改めて感じました。

課題はただ少なく簡潔にと言われてもその技術をまだ熟知していないのでリファクタリングの知識を改めて学びたいと思います。

 3つめはテストの知識不足です。

これは圧倒的に足りなかったです。

まず1番の反省はチュートリアルの勉強の段階でテストはコピペしコード解説で理解していたことです。ここで完全に落とし穴にはまっていました。

それは理解できてると思い込んでしまっていたからです。読めるけど何も自力で書くことができませんでした。そのため途中からはテストは書かず手動で確認という形でやりました。

手動テストが正常に終わり、コードエディタに戻り、新たなコードを書き、再び手動テストを行う、このように全く同じ動作を行うのであれば同じ動作を自動的に実行するコードを記述しないわけにはいきません。明らかに無駄が多いし抜け目が出てきます。

繰り返しはコンピュータにやらせましょう。これが大事。

そのためにはテストを書くことが何よりの近道。次からはテストにRspecを使って開発を進めていきます。everyday railsを購入しテストの技術を身に付けたいと思います。

 4つ目はデバックです。

これは早くから学習を始め導入しながら実装を進めていけたらもっと効率よく進められたと思います。

まず、初めてで知識も間もないのでめちゃくちゃエラーが出ます。気づいたらエラーが出ます。同じことやっててもエラーが出ます。つまり、エラーの繰り返しです。一体どこでエラーが起こっているのかその「どこ」の範囲が広くなりすぎて解決に時間を費やしてしまいました。効率よく助けてくれるツールはありがたく使っていくことが大事です。ですので次に向けてデバック技法も学んでいきます。

 5つ目はコードをもっと見るです。

やはり僕みたいなまだまだしょぼいコードしかかけないので、人のを参考にするのはこの上なく大事だなと思います。

人の振り見て我が振り直せ

のように見てからじゃないと気づけない部分もたくさんあります。人のいい部分はどんどん盗む。そこから自分としての技術を習得していくことが大事です。

今は言ってしまえばエンジニアを目指している赤ちゃんです。赤ちゃんは親の行動を見て育っていくのです。今は技術を習得していける親の存在はいくらでも作り放題dせすのでどんどん吸収していきたいです。

 6つ目はこまめなコミットです。

これは何気に大事なところだったと思います。

1つのコンテンツが終わってコミットしているとどうしてもその時の量が多くまた、少し横道に走る時もあったので、こまめな区切りでコミットしてセーブポイントを作っておくことが安全に実装していけると感じました。

また、コミットメッセージも後からじわじは大事になってくるのでしっかりとしたネーミングで進めていきたいです。

 7つ目はやはり基礎です。

何と言ってもやはり基礎特にRubyの知識がもっと必要だと感じました。

コントローラー内にてRubyのコードは不可欠ですし、メソッド、if式、ブロックメソッドなどが弱いと痛感させられました。基礎ができなければ、応用なんてできるはずがありません。何事にも土台が大事です。まずはチェリー本にてさらにRubyの知識をより深めて進めていきます。

 8つ目は適度な休憩と焦りは禁物です。

大事。これはすごく大事。適度の小休憩を刻みリフレッシュながらやることで、より効率よく集中して取り組めます。また、焦りは禁物です。あぁ、全然だめダァ。このままだとやばいかも。と思ってしまうことがありがちです。(僕はよくあります笑)しかし、こんなこと思いすぎてもより作業に頭が回らなくなったり余計なことまで考えてしまうので、楽に行こう。それが大事です。

最後に、いざ手を動かして、コードを書いていくと自分の弱点が山のように 溢れてきます。しかし、落ち込むことはありません。これは自分が成長できるポイントを知ることができたいい機会です。あとはこれを自分の強みにしてしまえばいいので大チャンスです!また、このブログも長く時間がかかりましたのでここで8つ目の反省

を生かし休憩したいと思います。