チェリー本を7章の途中(半分)まで終えたところでの所感など
2025-01-24
著者: Oyashiroboy
プロを目指す人のためのRuby入門 改訂2版を半分読んだところで
クラスの学習に差し掛かったところで、これまで私が他の言語をさらっと触れた内容を超えてきました。
これまでPythonなどの機械学習モデルや、単純なGASを見様見真似でコピペし動かしていた内容では、メソッドを定義してその中にIfを書く程度でした。クラスは概念自体が初めてなので、かなり苦戦する予感がしております。
ここまで読んだところで一度休憩して振り返ってみました。
いまの実力を測る?
半分読んだところでPaizaやProgateなどを使っていまの自分がどの程度まで身につけたかを確認したかったのですが、途中でやめました。
Paizaの特殊な構文
Paizaでは問題が解けるとのことで、6章までの内容がわかったかを気楽に調べようと思いつきました。
然し、input_line=getsの構文が特殊な扱いで、文章全体をtextなどとして読み込むことができないことがわかり、私が今後作ろうと考えているアプリケーションでは行全体を考えることが主となりそうなので、数問解いたところでちょっと違うかなと感じました。
問題演習のジレンマ
私は現状職についていない段階では自分のスキルアップのためにプログラムを学ぶということと、作りたいものを実現するために学んでいるということでは後者のほうが大きいです。そのため、問題を解いて他の問題もなどと勧められるのは違うように感じました。
また個人開発であっても可用性を考えるとコメントを入れたりメソッド化することは最低限必要です。しかし、プログラミング学習のサイトではその面をあまり考えず、むしろタイムなどのほうが重要となってしまう部分があるように感じました。
実際どのくらい定着しているのか
私自身、覚えることは苦手なので実際コードを実装する中で覚えるしかないと感じています。ただ、他の人が書いたGithubのコードを読んで、だいたい何をしているのか想像することはできるようになってきた気がします。これまでの学習では、自分がコピペをつなぎ合わせたものは、それぞれ何をするか分かる程度でメソッドや構文を読み解けるのはPythonの一部だったので、ひとまず一歩前進したかなと考えております。classもコードに出てくることが多いので、今後の章も頑張っていきたいです。
今後どう学ぶか
一度読破し、その後すぐに実際にアプリを作ろうかなと考えました。
先に述べたように作りたいものが常にいくつか浮かんでいるので、アプリと言っていいのかわかりませんがまずはCLIで使えるものから作っていきたいと感じました。
ちょうどそろそろ履修を考える時期ですので、あとなんの授業をどれだけ取ればいいのかが毎回手引と照らし合わせるのが大変なので、成績をコピペで自動化できればいいなと思います。配列、ハッシュ、正規表現などを組み合わせて今の段階でもそれなりに書けると予想しているので頑張ろうと思います。
おわりに
テスト駆動開発の手法がわかったのは大きいように感じました。これまで殆どをインラインでHTMLに書いてしまったり、とりあえずエラーが出なければいいというコードが大半でした。
然し、このブログを始め今後大きい物を作っていく中では明らかにエラーが多発するので、CSSを分けるなど始めました。
その中でテストの部分をおろそかにしている部分があったので前半のところでテスト駆動を覚えることができたのは大きいです。
もちろん開発にかかる時間との勝負もあるので、何をどう使うかはテストを問わず吟味が必要だと再認識しているところです。
読破した段階でもう一度整理したいと思います。