• GIZMODO
  • DIGIDAY
  • gene
  • cafeglobe
  • MYLOHAS
  • Glitty
  • machi-ya
  • roomie
  • GIZMODO
  • DIGIDAY
  • gene
  • cafeglobe
  • MYLOHAS
  • Glitty
  • machi-ya
  • roomie

itouitou  -   10:25 PM

【訂正あり】他人のコードを「破壊」しながらプログラミングを学ぶ方法:リバース・エンジニアリング

【訂正あり】他人のコードを「破壊」しながらプログラミングを学ぶ方法:リバース・エンジニアリング

リバース・エンジニアリング


追記:翻訳に誤って訳された部分がございました。原文における「break」は「破壊する」意ではありません。お詫びして訂正いたします。また、今後はこのような誤りのないよう、最大限の注意をもってサイト運営をしてまいります。(2013.10.21 11:30)


コードを学ぶベストな方法のひとつは、既存のコードを「リバース・エンジニアリング」することです。コードトーレニング企業の「Treehouse」が、コードの一部をわざと「破壊」しながら、コードを分析する方法を教えてくれました。


Nick Pettit氏はTreehouseブログの中で、プラウザでの3Dプログラミングの学習事例として、Javascript「Three.js」を一行づつテストする方法を解説しています。


var light = new THREE.PointLight(0xffffff);
light.position.set(-100,200,100);
scene.add(light);


プログラミング経験者なら、上記が何をするコードかだいたいわかるはず。わからない部分があれば、次のやり方でテストできます。

  1. コードを一行ずつ削除して、その行がゴールに不可欠なものかを調べる(各行を順に調べる)
  2. コードを一行ずつ削除して、各行の役割を把握する。予測がつく行でも、試しに削除し、期待どおりの結果になるかを確認する
  3. 変数や引数の値を変えてみて、期待どおりに動作するかを調べる
  4. 行を並べかえて、コードが「故障」するか、また、演算の順序にどんな重要性があるかを調べる

一行づつテストしながら、頭の中に想定モデルを構築していきます。また、それまでの仮定で間違っていたものは随時訂正します。やがて、プログラムの全体像が見えてきます。


ポイントは、一度に1カ所だけを「破壊」しながら、結果を確かめ、コードの各部分の関連性を理解することです。

独学のプログラマーなら、既存コードを「リバースエンジニアリング」する価値はご存じですね。しかし、「Treehouse」も指摘するとおり、この方法はまだまだ活用されていません。オープンソースコードのおかげで、誰かが作ったコードを「破壊」しながら学ぶ環境は整っています。ぜひ活用してください!


The Secret to Learning to Code | Treehouse Blog

Melanie Pinola(原文/訳:伊藤貴之)

MORE FROM LIFEHACKER

powered by

Kotaku

Recommended

© mediagene Inc.