SlideShare a Scribd company logo
1 of 15
一人で頑張る
コードリーディング
  明石 太陽
コードリーディングとは?
• 既存のコードを読んで内容を理解する事
  ※可能な限り一人で理解出来るように
コードリーディングに苦労する
      理由
• インスタンス名、メソッド名が間違って
  いる

• プロジェクトサイズが大きく、20個以
  上に
  ファイルが分割されている
インスタンス名、メソッド名が間違っ
       ている


リーダブルコードを読ん
で勉強してください。
プロジェクトサイズが大きく、20個以上
         に
   ファイルが分割されている



    本題はココ
VS 巨大なプロジェクト
• ターミナルで
  find ./ -name ‘*’ | xargs grep ‘xxx’
   をつかいましょう。(xxx:メソッド名等)
おわり
は、寂しいので



   最後に、Rubyで使える便利な
     検索方法を紹介します。
便利な検索方法

         それは


    Rak コマンドを使う


※ここからはRubyを使った事ある人が主な対象
rakの特徴
・コマンドが簡単

 コマンド:
   rak 検索する文字列 対象ディレクト
リ

 例)
   rak ‘created_at’ ./app
rakの特徴
• 検索結果が見やすい
・find ./app –name ‘*’ | xargs grep ‘created_at’




・rak ‘created_at’ ./app
ね、一目瞭然でしょ?
まとめ
• Rakコマンドが便利。
  使えるときなら使いましょう。



※最後に
  rakコマンドはapp/assets以下の検索では
使えませんでした。Assets以下を調べたい時
は諦めてfindコマンドを使いましょう。
今度こそ
おわり

More Related Content

Similar to 一人でも出来るコードリーディング

20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Masayuki Kanou
 

Similar to 一人でも出来るコードリーディング (20)

リーダブルコード 1.0'
リーダブルコード 1.0'リーダブルコード 1.0'
リーダブルコード 1.0'
 
Programming camp code reading
Programming camp code readingProgramming camp code reading
Programming camp code reading
 
Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
 
20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
Php development efficiency improvement
Php development efficiency improvementPhp development efficiency improvement
Php development efficiency improvement
 
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
 
大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術
 
リーダブルコード
リーダブルコードリーダブルコード
リーダブルコード
 
VimM#3
VimM#3VimM#3
VimM#3
 
activerecord-turntable
activerecord-turntableactiverecord-turntable
activerecord-turntable
 
SDSoC でストリーム
SDSoC でストリームSDSoC でストリーム
SDSoC でストリーム
 
Designing data intensive applications-ch4
Designing data intensive applications-ch4Designing data intensive applications-ch4
Designing data intensive applications-ch4
 
mruby for embedded systems
mruby for embedded systemsmruby for embedded systems
mruby for embedded systems
 
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
【アシアル塾】Linux超入門編・第一回はじめてのターミナル(黒い画面)操作
 

一人でも出来るコードリーディング