Happy My Life

日常とか技術とか

ソースコードウォッチャーのススメ

UE4 Advent Calendar 2017も最後のエントリーとなりました。

今回はポエムっぽく、ソースコードウォッチャー(今作った単語なので、英語として正確かどうかは知らない)のススメというタイトルで、UE4のソースコードに対する取り組み方を取り上げてみます。

読み物風なので、そのあたりは気軽に読んでもらえれば、と。

ソースコードウォッチャーとは

ここでいうソースコードウォッチャーとは、「UE4のソースコードの変化を日々読み進めていく人」を指します。もうちょっと具体的には、git pullして、昨日から今までのコミットを見ていくのです。

「昨日こんなコミットがあった」とか「新しいブランチができた」とか、その日のニュースサイトで情報を取得するように、最近コミットされたソースコードの内容を理解、確認していきます。UE4のソースコードはGitHubで見られるようになっており、日々の更新もEpicGames以外の人も見られますからね。

ウオッチ対象はmasterブランチに加えて、dev-geometoryブランチなどもう1,2ぐらい、割とアクティブ(日々のコミットが多い)なブランチをウォッチ対象にするとよいでしょう。

まー、ソースコードを端から端まで全部読んで理解するとよいのでしょうが、さすがにそれは時間がかかりすぎるので、せめて「差分を読んで最新情報を吸収する」という感じでしょうか。

ソースコードをウォッチするメリット

毎日朝食を食べるようにUE4のソースコードを読むわけですから、以下のような効力があります。

  • UE4の開発の流れが見える
  • UE4の勘所(とっかかり)を養う

このあたり、大げさに言い換えると「UE4と自分が一体化する」「俺がUE4だ!」となるでしょう。

ま、別にわざわざ毎日差分を読まなくても必要な時に必要な箇所だけ調べる、という方法もあるのですが、それだと知識が偏りがちになるんですよね。

必要な箇所を集中して調べる一方で、まんべんなくソースコードを眺めることで得られる知識の「とっかかり」を蓄積するのも大事かな、と思います。この「とっかかり」をため込んでおくことで、点だった知識が線で結ばれ経験となります。

これによって、何か新規機能の実装が必要になったり、トラブルの解決に迫られたりしても「あ、これ進研ゼミで見たやつだ!」という感じで、解決の糸口が見えてくるのではないかと。

読む必要のあるコミット、ないコミット

UE4のコミットは多種多様にわたります。毎日コミットをウオッチする上では、すべてのコミットをまじめにチェックする必要はないでしょう。必要ないものは飛ばせばよいのです。

ここでは「UE4の開発動向を知る」という意図であれば、以下のようなコミットログがあるものは読み飛ばしてもよいでしょう。

  • 翻訳に関するもの(*.udnファイルへの変更)
  • typoの修正
  • バイナリファイル

それ以外のコミットは読んでおくとよいでしょう。気になるコミットがあれば、その前後のソースコードを調べるなり、実際にビルドして試すなりしてみると、より理解が深まるのでないかと。

どのように読むか

毎日行うので、自分がやりやすい方法でよいでしょう。

個人的には、SourceTreeGitKrakenあたりのGUIなgitクライアントがおすすめです。

gitkraken

これらのコミット、ブラウザからGitHubで直接チェックすることも可能といえば可能ですが、これは画面の遷移が多くチェックに時間がかかってしまうのでおすすめできません。やはり、ソースコードを手元に全部あった方が、差分調べたりも簡単にできて楽ですしね。

毎日できる人って割と限られるのよ

これを毎日続けると1年後ぐらいには所属組織の中では技術的に上位になれることはほぼ確実でしょう(所属組織がEpic Gamesだと難しいでしょうが)。こんな地味にソースコードのウオッチを1年間継続できる人なんて、そう滅多に居ないわけですから。

割と地味な感じですが、「千日の稽古を鍛とし、万日の稽古を錬とす」という言葉もあるように、この効果は間違いなくあるので来年からの習慣としてはじめてみてはいかがでしょーか。

最後にちょっと宣伝

前日のエントリーでも、ちょこっと紹介していただきましたが、あらためて。12/29(金)にコミケでUE4の薄い本(新刊)を出します。ブースは、ケ27bです。わかりやすくいうとalweiさんのとなりです!

little talks

内容はですね、今まで書いた記事の改訂 + 新規の技術ネタいくつか、となってます。あと、既刊(これまで出してきたUE4本すべて)も若干数用意していますので買い逃しがあったかたも是非。では、コミケ会場で会いましょう。