ピックアップ記事

おはようございます、mojihigeです。

Progateの「Ruby Ⅰ」をやってみたので感想です。

Rubyに関しては環境を作るのもそんなに難しくなく、実行も簡単なため以前やったSQLほどのメリットは感じられませんでしたがスライドの内容や実際にプログラミングする内容は初心者に優しくわかりやすいものであると感じました。

「Ruby Ⅰ」をやってみて良かったと感じたところ

「Ruby Ⅰ」をやってできるようになることは以下です。

  • 文字列の出力
  • 文字列の連結
  • 四則演算
  • 変数の使い方
  • 変数(式)展開
  • 条件分岐

変数の説明

初学者にとって変数を理解するのに少しつまづくことがあるように思えます。

代入について

まずは「=」の意味が今まで習ってきたものと意味が違うことにちょっと戸惑うかもしれません。

「1 + 1 = 2」というようにイコールとは等しいことを表す記号でありますがプログラミングにおいては変数への代入として利用されることが多いです。

この代入による現象を置き換えのイメージとして表現しているのは初心者に対してもわかりやすいように感じました。

また変更した際の上書きのイメージなども図で表現されており理解しやすいように感じました。

使用理由について

なぜ変数を使うのかということも明示されており、具体例もあるため理解がしやすかったと思います。

変数の名前について

変数の名前についても書かれているのは良いと思いました。

プログラミングにおいて名前づけは重要な作業になります。なぜならプログラミングは書く作業よりも読む作業が多いからです。

もし変数やメソッド(処理をまとめて名前をつけられたもの)の名前と実際の処理が全然違うものだと利用者がびっくりしてしまいます。

ここでいう利用者とは自分かもしれないし他人かもしれないということです。なので多人数でプログラミングを行う場合はかなり必須な作業になってきます。

ただし1人でやる場合であっても3日後の自分は他人という考えも(3日後には自分の書いたコードを忘れている)あります。

よっていい名前づけをすることは全く悪いことではありませんので1人でやる場合も癖をつけておくのは良いことだと思います。

変数名のルールについての補足

変数名のルールについてということで「2語以上を組み合わせた変数名をつけるときは、アンダーバー(_)を用いるということは覚えておきましょう。」といったことが書かれていますがこの記法には名前がつけられておりスネークケースと呼びます。

また他にもいくつかあり代表的なもので

  • キャメルケース(userName)

最初の単語以外の文字の先頭を大文字にする

  • パスカルケース(UserName)

全ての単語の先頭を大文字にする

  • ケバブケース(user-name)

スネークケースがアンダーバーで区切られていたのをハイフンに替える

変数(式)展開の説明

変数展開についてもしっかりと書かれており、メリットとして数値と合わせるときに自動で文字列として変換されるなどのことが書かれているのはよかったと思います。

変数展開はよく使いますのでガンガン使っていきたい書き方、慣れると本当に便利です。

書いといてあれですが変数展開という言い方は初めて聞きました。今までは式展開という言葉で聞いてました。最近変わったんでしょうかね。

スポンサーリンク

「Ruby Ⅰ」をやってみて気になったこと

if「文」と表記されている

こちらの「Rubyでif文やwhile文とか言っている入門は非推奨」という記事で詳しく書かれているのですがRubyのリファレンスや名著にはif文ではなくif式と書かれています。

Progateでは初心者に向けて作成されていると思いますのであえてif文と書いているのかなとは思います。

初心者に関してはあまり意識することではないのですが知っておいても損はないと思いますので軽く目を通しておいてもいいかなと思います。

上記の記事の最後には「たのしいRuby」の作者の方も参加して有意義な記事になっていると思います。

見本の再生を押す意味は?

今回も見本が用意されているのですが見本は最初から表示されているのではなく一度再生ボタンを押さないと見れない仕様になっていました。

この再生ボタンを押す意味がわからず毎回押して確認するのはわずらわしく感じました。再生ボタンを押させる意味は何でしょうか?

自分のコードの変数の値を変更すると見本の値も変わる(条件分岐の入ったプログラム)とかであれば意味があるような気がしますが常に同じ値が表示されるので最初から出ててもいいのは?と感じました。

なぜコメントを書くのか?

なぜコメントを書くのかということについてあっさりでしたので少しだけ思ったことを。

コメントに関しては完全に不要という人もいたり、少しは書くべきだという人もいたりします。

私は少しはコメントを書くべきだと思っています。もちろん書かないでいいことに越したことはないのですがどうしてもわかりづらい処理を書くことが出てくるのでその場合はコメントを書くほうがいいと思っています。

なぜコメントは書かない方がいいのかというとコメントで説明するようなプログラムを書くなということが一番大きいのかなと思っています。

プログラムは基本的に人が理解するために作られているのでプログラミング言語そのもので処理を表現してあげる状態にするのが一番だと思います。

あとはコメントのメンテコストがあるというところでしょうか。書いてあるコメントと実際の処理が違うということはたまにありました。

コメントが書かれた後に処理を修正した人がコメントの修正を忘れた場合書いてあるコメントと実際の処理が違うという状態になります。

この状態をまた修正した人と別の人が見たときにちょっと混乱してしまいます。

変数のスコープについてはあっさり

変数のスコープ(利用できる範囲)についてはそれほどまでに書かれていませんでしたがそのうち出てくるのかなと思っています。

 

初心者の向けの本としては以下の本がおすすめです。

created by Rinker
¥2,808 (2019/05/23 06:09:40時点 楽天市場調べ-詳細)

ちょっとわかってきたら古い本ですがこちらもおすすめです、そんなにページ数もないのですんなり読めると思います

created by Rinker
¥2,376 (2019/05/23 06:09:40時点 楽天市場調べ-詳細)
スポンサーリンク

Twitterでフォローしていただけると嬉しいです!!

おすすめの記事