読者です 読者をやめる 読者になる 読者になる

Rubyでコードリーディングをやってみた

「プログラムを書けるようになるためにはプログラムを読まなければならない」とどこかで聞いたので、Rubyのコードを何か読んでみることにした。

とりあえず初めてのコードリーディングということで、
Ruby/勉強用のお手本になるソースコード - TOBY SOFT wiki
で初心者向けとされている mailread.rb を読むことに。

自分のRubyディレクトリからソースコードを探してみた、が見つからない。調べてみると1.9からなくなったらしい。仕方なくググって見つけたところからコピペ。

コードリーディングと言ったものの、どういうやり方が一番いいのかよくわかってない。コードリーディングのやり方として ひらメソッド というものもあるらしいが、たかが数十行のソースコードにやる意味はなさそうなので、とりあえず読みながらコード中にコメントを挿入していくという方法をとった。

どうせコメントをつけるなら、最近覚えた YARD でドキュメントを出力できるようなコメントにしようということで、コメントを挿入してYARDでドキュメントを出力したのがこれ。

akisute3/code_reading · GitHub

small_programs 内の mailread.rb がコメントを付けたソースコード、doc/ 内が YARD で出力したドキュメントである。ドキュメントはダウンロードして doc/index.html をブラウザで開けば見られると思う。

読んだ感想としては、

  • 引数にgetsが定義されていなければオープンとか「ensure f.close if opened」の辺りは今後プログラムを書くときに使えそう。
  • headerとbodyになんでattr_reader使わないんだろう?

くらい。非常に短いプログラムでも学べるところは十分にあった。

次は 404 Not Found 辺りを読もうかな。上のリンクで中級者以上って書いてるし、Rubyのドキュメント周りについて知りたかったし。

コードリーディングがこれで最後にならなければいいが……