難読化ツールソースコード公開

 難読化ツールのソースコードを公開します。コンパイル済バイナリは含まれていません。ライセンスは自動化ツールと難読化エンジンの両方ともGPLv2となっています。
 READMEにも書いていますが、実験・研究目的以外には役に立たないと思いますので、ご注意を。VC++プロジェクトを自動的に編集したり、アセンブリソースコードを直接編集したいなら、改造するのにぴったりな基盤になるかもしれません。
obfuscator_25_jan_2009.tar.gz

コードをレビューしあうことがない

 人と技術的なことを話す機会は恵まれているように思うものの、人のコードをレビューする機会、される機会はほとんど無い。あえてあげると、「プログラミング入門」という授業の課題でTAからコメントをもらったという程度。
 難なく読めるコードを自分は書いてるつもりでも、複数人で取りかかっているプロジェクトでは自分のコードが足手まといになっているかもしれない。
 実のところ、直接指摘されることも、遠回しにソースコードが汚いと指摘されることもない。人のコードを読む機会があると、自分のコードがなんとなく汚いとわかったりする。汚いとわかったときすぐには原因がわからなくて、数週間してやっと自分のコードは変数名が短すぎるとわかった。それも、書籍(ケント・ベック『実装パターン』)を読んで「自分のコードは読むためじゃなく、書くのが早いことを優先したコードになっている」と気がついた。自力で気付いたのではなく、書籍を読んで初めて自分の悪習に気付いたわけ。
 コードレビューは、複数人で行うのが望ましいという。残念ながら、コードレビューをしたりされる習慣が無い。学生のうちはそんなもんなのか。いや、半分そうかもしれないけど、複数人でプロジェクトに取りかかる機会が少ないのも理由かな。
 今後、意識的にコードを人に見て評価してもらうようにしたらよいかもと思った。しかし難しそう。手っ取り早いのが、複数人でプロジェクト組む、そして頻繁にレビューしあうことかな。それも難しいわけですが。きちんとマネージメントしてもらえるなら、オープンソースは有り*1かと思う。ただ、オープンソースプロジェクトでレビューも含めてきっちりやるっていうのは、レビュー未経験の学生が自ら踏み出すにはちょっと敷居が高いのかな?

*1:私が興味ある分野なら、誘ってもらえればが参加するかも、という意味で