コードの写経中にやってること

ソフトウェアのプログラミングの文脈でソースコードの写経と呼ばれるものがあります。簡単に言うとソースコードの読み書き技術の上達のために既存のソースコードを手元で入力する作業です。最近ではgithubなどでOSSが大量に公開されているのでいくらでもできます。

写経は明確に定義がある言葉ではないので、ただ無心に写すという人もいるでしょうし、写しながらその他のことをする人もいるでしょう。ここでは私が「(ソースコードの)写経をする」といったときに何をしているのかを、だれかの参考になるかもしれないので書いておきます。なお、別にこれが唯一絶対とかいうつもりは毛頭ないです。

  • (とくに不慣れな分野、言語において)何をしたいときにどういうライブラリを使うか、どういうコードを書くかというパターンを覚える、およびそれを体に叩き込む
  • コードを書いたときの作者のお気持ちを推測する
  • 実際に書かれているコードと自分ならこう書くであろうコードを比較して、どちらがよさそうかを考える
  • よさそうだとして単に好みの問題なのか、変更するに値するものなのかを考える
  • 変更に値するのならば何をすればupstreamに受け入れられるだろうかと考える

すぐに思いつく限りではこんなものです。ついでに言うと写経の後の話ですが、変更に値するものがあって、かつ、自分の時間に余裕があればupstreamにPR送るということもたまにします。

みなさんはどんなこと考えながら写経してますかね。コメント欄とかに生やしたりして教えてくれると嬉しいです。