Rubyでlsコマンドを作る

高い壁を乗り越えたときその壁はあなたを守る砦となる


先日、Rubyでlsコマンドを作る課題が合格しました😆
提出の要件として、オプションなし,-a,-l,-rのそれぞれのオプションをつけた場合(組み合わせもあり)、さらにクラス設計で書くというものでした。
最初はどこ手をつけていいのかわからず、やることの多さに圧倒されていました。またわからないことが多く、全く手が動かず立ち往生していた時もありました。
そんな困難のなかだからこそ、学んだことがたくさんありました。

メモをしながらコードを書く✍️

最初はとりあえずベタ書きからやろうとしましたが、やることが多くすぎる!
どこから手をつけていいのかわからない。
そこで頭の中を整理するために簡単にtodoリストを作って視覚化しました。
このおかげで、やることが細分化されたのでかなり気持ち的にも楽になり作業が捗りました。

リファレンスマニュアルを見る👀

コードを書きながら、自分の意図した通りに動かしたいときだけメソッドを調べるのではなく、コードを書くまえにチラッと使えそうなコードを調べることで作業が捗る!
公式のマニュアルは難解なところもあるが、敬遠せず見る癖をつける大事だと学びました。

クラス設計、メソッド定義について🛠

最も苦戦したのがクラス設計でした...
クラス設計、メソッドを使うと処理が簡単になるということはわかっていてもどうすればいいかわからない😖
本や記事でインプットはしても使いこなすことは難しく、2日くらいは手が動きませんでした。この時が一番メンタルにきていました。
何がわからないのかわからない、一向に進まないことが苦しかったです。
しかしそんな暗闇でもあがいていれば何か掴めるかもしれない。
その言葉の通り、あれこれと試行錯誤しているうちにうまくいくロジックが見つけ、不格好ながらもクラス設計で作ることができました!
その後はメンターのレビューもあり、すっきりとしたコードが完成しました🎉

まとめ

この課題を終えて、技術はもとより、メンタルが鍛えられました。
lsコマンドを作れたから何でもできるという気持ちが生まれました。
だからと言って安心せず、まだまだな部分も多いので、これからもどんどんプログラミングについて学習を進めていきます。