「Rubyでlsコマンドを作る」課題で学んだこと

昨日、fjordbootcampの「Rubyでlsコマンドを作成する」というプラクティスが何とか、完了できたので、そこで学んだことをまとめます。

1. メソッドがどのクラスに使えるのか、何のクラスのオブジェクトを返すのかを把握しておくことが重要

私が第一に詰まった点は、`NoMethodError`でした。以下のようなエラーが返されて意味が分からなかったということです。

NoMethodError: undefined method 〇〇 for ▲▲ :String

このエラーの意味は、「▲▲というStringクラスのオブジェクトには、〇〇とうメソッドは定義されていません。」ということです。

対策:このような、エラーが出た時には、まず、公式リファレンスを見て、使おうとしているメソッドが何のクラスのオブジェクトに使えるのか、そして、何のクラスのオブジェクトを返すのかを確認します。


2. 自分のやったことの記録、考えたことの記録を残しておくが重要

これが非常に大切なことだと思いました。私の場合は、ある機能を実装しようとして、頭を捻って様々な試行錯誤を繰り返していると、同じアプローチを繰り返し試してしまったり、自分のやっていることが分からなくなるということがありました。そのため、自分のやったこと、考えたことを文章にして記録しておくということをやっていました。

これを行う、メリットとして、
1. 同じアプローチを繰り返してしまうことを防ぎ、問題解決にかける時間を 減らす。
2. 複雑に思えた問題や解決方法が、文章にすることでシンプルに考えられるようになる。
3. ある問題ではダメだったアプローチが、他の問題では使えたりするため、その時に記録を辿れば容易にそのアプローチが実行できる。
などがあると思います。

自分の場合は、スクリーンショットなども取りながら、逐次記録を行なっていました。


デバッグの基本的な方法

当初デバッグのデの時もわかりませんでしたが、先生方に教えてもらったり、書籍、サイトなどを見て基本的なやり方を学べました。

まず、デバッグとは、


プログラムが意図通り動いているのかを確かめ、間違えている部分(バグ)を見つけて直すこと
ゼロからわかる RUBY超入門 はじめてのIT技術講座より

です。


自分は、問題が発生した時は以下のような手順を踏んでいました。

1. エラーメッセージを確実に記録する。望んでない動作を明確にする。

2. 100%エラーを再現できる手順を明確にする。

3. 問題を再現可能な最小のサンプルコードを作成する。エラーを実現するのに関係のないコードを排除して、エラーが再現できる最小のプログラムを書く。

4. 要所要所でpメソッドにより、変数の値をチェックする

特に4では、変数が入っているはずのところに入っていないということが頻繁にあったので、確認が大事です。そして、どこから変数の入っていないのかを特定することができれば、どこが問題かも分かるので、確認が大事です💪


基本的な質問の仕方

私は、他の人に質問するということが苦手でして、どうすればもっと質問できるのだろうと考えていました。そして、一つの考えとして、「自分の中で、質問の仕方が明確じゃないから質問が苦手なのではないか?手順書のような物があれば、そこまで抵抗なく質問できるのではないだろうか?🤔」と考えて、自分なりに質問の仕方を調べて自分のブログにまとめました。
よければ参考にしてみてもらえると嬉しいです。

質問の仕方に不安があったので、調べてみました‼️ ~より良い質問ができることを目指して~


まとめ

以上のようなことをlsコマンドを作成する課題では学びました。大変な課題でしたが、その分得るものも大きかったと思います😆
このように、プラクティスが終わるたびに学んだことのまとめを書いていくことで、自分のより知識や技術が定着したりすると思うので、続けて行きたいです🔥


参考サイト等

Ruby のエラーメッセージを読み解く(初心者向け)その 2

あたりまえすぎて誰も書かないデバッグのい・ろ・は。

デバッグの手法

五十嵐 邦明・松岡 浩平 著 2018 『ゼロからわかる RUBY超入門 はじめてのIT技術講座』 技術評論社

この記事が気に入ったらサポートをしてみませんか?