長いソースコードを読むコツ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/10/25(土) 13:40:510002 ̄ ̄ ̄ ̄ ̄V ̄ ̄ ̄ ̄
2008/10/25(土) 13:48:47/ ̄ ̄ ̄ ̄\
( 人____)
|./ ー◎-◎-)
(6 (_ _) ) カタカタカタ
| .∴ ノ 3 ノ ______
ゝ ノ .| | ̄ ̄\ \
/ \__| | | ̄ ̄|
/ \___ | | |__|
| \ |つ |__|__/ /
/  ̄ ̄ | ̄ ̄ ̄ ̄| 〔 ̄ ̄〕
| | ̄
0003デフォルトの名無しさん
2008/10/25(土) 13:50:21言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
0004デフォルトの名無しさん
2008/10/25(土) 13:54:320005デフォルトの名無しさん
2008/10/25(土) 14:35:21コメントを書き込みながら読む
0006デフォルトの名無しさん
2008/10/25(土) 15:33:27・印刷物と色鉛筆
・付箋紙
0007デフォルトの名無しさん
2008/10/25(土) 15:36:130008デフォルトの名無しさん
2008/10/25(土) 16:51:45まあソースコードに限らず万事においてプロアクティブに頭を使うことは
非常に効果が大きく重要なんだが、できない奴は全くできない。
0009デフォルトの名無しさん
2008/10/25(土) 18:14:16にきびでもできたんか?
0010デフォルトの名無しさん
2008/10/25(土) 18:21:30もしくは、ひたすらメモを取りながら読む
どっちにしても効率はあまりよくない
0011マイク ◆yrBrqfF1Ew
2008/10/25(土) 19:07:200012デフォルトの名無しさん
2008/10/25(土) 23:48:490013デフォルトの名無しさん
2008/10/26(日) 00:45:08【支援】ソースコードリーディング【ツール】
http://pc11.2ch.net/test/read.cgi/tech/1211785036/l50
0015デフォルトの名無しさん
2008/11/15(土) 11:58:18変数(300個くらい)を格納するためだけのクラスがあって全域からそこを参照してる
というVB.netのコードを読むコツを教えてくれまじで
0016デフォルトの名無しさん
2008/11/15(土) 16:41:440017デフォルトの名無しさん
2008/11/15(土) 19:57:18その発想はなかった…ありがとん
0018デフォルトの名無しさん
2008/11/15(土) 20:50:130019デフォルトの名無しさん
2008/11/15(土) 20:54:43しばらく、C#やらVB.NETで仕事をしてて、VSで、定義してる箇所や参照してる箇所がすぐ
わかってすごい便利だったんだけど、VC6の仕事にはいちゃって、それがつかえなくなってすごい不便なんだよな。
0020デフォルトの名無しさん
2008/11/15(土) 21:23:10<フォルダ数>: 1161
<ファイル数>: 18811 ( c: 7804 h: 7598 cc: 1 l: 4 y: 4 S: 865 pl: 13 sh: 21 その他: 2501 )
<総行数>: 640万1152
<有効行数>: 450万7118
<コメント行数>: 104万2802
●firefox-3.0.1
<フォルダ数>: 5280
<ファイル数>: 42243
( c: 1546 cpp: 3832 h: 3971 cc: 79 l: 2 y: 1 asm: 6 pl: 127 sed: 2 sh: 131 java: 70 その他: 32476 )
<総行数>: 376万2581
<有効行数>: 244万1177
<コメント行数>: 83万6499
●gcc-core-3.4.5-20060117-1
<フォルダ数> 82
<ファイル数> 1885 ( c: 461 h: 636 cc: 1 l: 2 y: 4 asm: 63 S: 10 pl: 2 sed: 1 sh: 11 )
<総行数> 85万4799
<有効行数> 56万2436
<コメント行数> 17万0669
(※行数はc,cpp,h,cc,java等のみ)
こういうのが読みたいのですが
コツを教えてください!!
0021デフォルトの名無しさん
2008/11/15(土) 22:12:15読むほうがいいんじゃないの?基本的なことは変わってないだろうし
0022デフォルトの名無しさん
2008/11/16(日) 00:33:44ありがとうございます。少し希望が出てきました!
●linux-2.2.0
<フォルダ数>: 229
<ファイル数>: 4598 ( c: 1891 h: 1884 S: 227 pl: 4 sed: 1 sh: 5 その他: 586 )
<有効行数>: 113万7392
●gcc-2.95
<フォルダ数>: 70
<ファイル数>: 1695
( c: 335 h: 662 y: 2 asm: 41 S: 4 sed: 11 sh: 6 その他 : 634 )
<有効行数>: 40万5391
0023デフォルトの名無しさん
2008/11/16(日) 03:10:38知りたいことをまず決めて、必要ない部分をばっさばっさと落としていくのがいいよ。
0025デフォルトの名無しさん
2009/02/04(水) 17:37:44Visual Studioにある関数の呼び出し元をツリー表示とか重宝してます
0026デフォルトの名無しさん
2009/02/04(水) 22:34:560027マイク ◆gZ6OoOjBU6
2009/02/05(木) 06:55:19unix系OSの理念としてカーネルそのものはなるべく小さくする理念があったはず。
だからカーネルそのものは大して難しいことはないだろうと思われる。
俺はあんま読んだ事は無いがね。
つーかFreeBSDのソースのtgzとかオプソのftpのサイト行っても置いてないぞ?どこにあんだよ
csvとか面倒臭すぎ。俺まだISDN回線だし。鬱病気味でそんなやる気ないっつうの
0028マイク ◆gZ6OoOjBU6
2009/02/05(木) 06:58:27それだ。
制御フローを図式かするツールがあるとめちゃくちゃ簡単にプログラム解析できる。
高いラショナルローズみたいなのにはあるとかないとか聞いたがあれは便利だな。間違いなく。
俺は持ってない。
0029マイク ◆gZ6OoOjBU6
2009/02/05(木) 07:28:39標準のCライブラリのstrncpyやmemcpyまで独自実装してるのな。
めんどくさいんじゃね?と思ったが。
ブラウザの場合はユーザが使う機能が分割して実装されるからソースコードも大体その機能ごとに分かれてる。
だから機能ごとにgrepとかmozilla\ディレクトリ以下のCやC++やJavaScriptのソースファイルをリストアップさせて
適当にディレクトリとファイル名から推定してソース読んでた。
スクリプトで拡張子で判別してリストアップさせたら9500ファイルくらいあったぞ。
やっぱり50万行以上あったか。俺も苦労したわ。あんなんやってられねえ。ツールでも作らなきゃ2度やってられねえな。
静的ソースコード解析が一番いいわ。自動化最高。
sqlite3.c だな。この外部ライブラリのソースコード脆弱そうに見える。
外部ライブラリだから報奨金の500ドルはもらえねえけど。
0030マイク ◆gZ6OoOjBU6
2009/02/05(木) 08:40:04俺はトップダウン型でプログラムを理解する派なので
プログラム自体がまともな設計で構築されてば一応それなりに構造把握はできる。
その設計パターンになれるのが一番読むコツとして重要じゃねえかと思う。
0031デフォルトの名無しさん
2009/02/06(金) 10:38:41個々のアルゴリズムの意味を理解してようやく何かが見えてくる感じ
0032マイク ◆gZ6OoOjBU6
2009/02/06(金) 17:13:02↓
そこで使われている設計パターンを含んだ色々なよく使用される設計パターン
0033デフォルトの名無しさん
2009/02/10(火) 12:43:43OSカーネルのbootstrapコードは, その方法じゃ理解不能に近い.
0034デフォルトの名無しさん
2009/02/11(水) 11:21:360035デフォルトの名無しさん
2009/02/11(水) 20:10:39そして結婚してください
0036デフォルトの名無しさん
2009/02/11(水) 22:07:300037デフォルトの名無しさん
2009/02/11(水) 22:22:160038デフォルトの名無しさん
2009/04/08(水) 02:05:450039デフォルトの名無しさん
2009/04/10(金) 04:41:370040デフォルトの名無しさん
2009/06/10(水) 19:58:471行を1秒で読めば1250時間
1日に2時間読んだら2年くらいで読めるということか
0041デフォルトの名無しさん
2009/06/10(水) 22:06:410042デフォルトの名無しさん
2009/06/10(水) 22:08:07■ このスレッドは過去ログ倉庫に格納されています