アラサーOLだっしゅつけいかく

30代でOLを辞めて未経験からエンジニアになろうと一念発起した人の活動記録です

Lesson#3 Rubyの変数とスコープ、Railsのさわり

Lesson#3 Ruby変数とスコープ、Ralis入門

今回はRubyの変数(インスタンス変数、クラス変数、ローカル変数)を中心にレッスンを行いました。

プログラム、なんでかわからんが動いたってのはダメ!!
そうは言われても何でこうなるのか分からないことってありますよね。今回はそんな私の中で謎だったRubyの変数たちについて学びました。
ちなみに今回でRubyまでカリキュラムを終え、次回からRailsの勉強に入っていきます!

課題のフィードバック

前回の課題。

JavascriptRubyについて先生の出した問題を解く(何か気づきがあればQiitaへ投稿する)

今回はなんとフィードバックはなし!!!
JavascriptRubyともにスコープの確認のような問題だったのですが、正解かつ考え方もおっけー!ってことで特にコメントなく終わりです。
その分Rubyの変数についてみっちりやりました!

Rubyの変数とスコープについて

Progateやカリキュラムで個別の使い方や書き方は学びましたが、通してコードを書いていくとあれ?なんでこれここから呼び出せるんだ?とか何でこっちはここから呼び出せないんだ??っていうのがいっぱい出てきたんです。
でもこうかな?こうかな?って書いてるとそのうち正解っぽい記述がみつかるんですよね。笑
それでなんとなくは動いたものの、冒頭にも書いたようになんでかわからんが動いた、はダメ!と言われていたのできちんと理解するまで聞いてきました! (ちなみに理解したことをまとめたものはQiitaに投稿してみました↓)

qiita.com

結局この変数はどこまでの範囲で使える、っていうのがきちんと把握できれば良いのかな?って感じです。
まだ自分で長いプログラムとか書いてないのでわかりませんが、こんがらがってきたときはまたこの基本を思い出しながらやっていきたいと思います。

プログラミングをする上で知っとく良い原則

さて、カリキュラムで作った簡易RPGなのですが、このプログラムの中では「キャラクタークラス」「バトルの処理をするクラス」「ゲーム全体の処理をするクラス」と大きく分けて3つにのクラスに分かれていたんですね。
しかし、このクラスは個別に分けずに全部まとめて書いてしまってもプログラム自体は動くんです。

ではなぜあえて分けているのか。それは、単一責任の原則という考え方があるから。
単一責任とは、簡単に言うとひとつのクラスはひとつの責任しか持っていないということ。
これがいくつも責任を持っていると保守性や可読性が下がってしまって良くないので、ひとつのクラスにはひとつの責任だけを負わせてせて作るのがベストとのことでした。

他にもいろいろな原則があるので良かったら調べてみてください、とのことでしたので調べてみたら下記の記事がわかりやすかったです!

qiita.com

Railsに入る前に

質問も終わり少し時間が余ったのでRailsについて軽く触れました。
まず、次回の課題にもあるのですが、Railsを学ぶ前に基本であるMVCとルーティングについてきちんと理解をしておくようにと言われました。

Mとは何か。
Vとは何か。
Cとは何か。
ルーティングとは何か。

ここをきちんと理解し、全体像を把握した上で勉強を進めていく。
コードを写す際は「これはM・V・Cの何でどういったこと書いている」というのを頭に置きながら進めていとより理解できる、ということでした。
なのでまず課題をやった上で、Progate→オンラインカリキュラムといった順で進めていくことにしました!
ちなみにRailsかなり難易度が上がるらしいので、カリキュラム終了まで目標は1ヵ月程度です。

次回までの課題

MVCとルーティングについてまとめてQiitaに投稿する
サーバーの仕組みについて復習しておく

以上、今週も勉強頑張ります!