2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ソースを読む技術

1 :デフォルトの名無しさん:2006/02/04(土) 22:14:31
自分のソース、他人のソース、オープンソース等々のソースを
読む技術、手法などを夜が明けるまで語り明かしましょう

2 :デフォルトの名無しさん:2006/02/04(土) 22:16:37
1に経験、2に経験、桂三枝はいらっしゃ〜い

3 :桂三枝:2006/02/04(土) 22:21:54
いらっしゃ〜い

4 :デフォルトの名無しさん:2006/02/04(土) 22:52:23
突然ですが、今からこのスレはおたふくソースに勝るソースを語るスレとなりました。

5 :デフォルトの名無しさん:2006/02/04(土) 22:59:41










                                            糸冬
                                       ---------------
                                        制作・著作 NHK

6 :デフォルトの名無しさん:2006/02/04(土) 23:00:55














                                            糸冬
                                       ---------------
                                        制作・著作 創価学会


7 :デフォルトの名無しさん:2006/02/04(土) 23:10:56
ttp://www.kagome.co.jp/sauce/top/contents.html
ttp://www.otafuku.co.jp/
ttp://www.bulldog.co.jp/syouhin/index.html
ttp://www.gensen.co.jp/sause.htm
ttp://8627.teacup.com/ichizendo/shop/01_01_03/ITH-02/
ttp://www.ikari-s.co.jp/

8 :デフォルトの名無しさん:2006/02/04(土) 23:12:56
おたふくいいよおたふく

9 :デフォルトの名無しさん:2006/02/05(日) 00:59:32
ctags, grep, globalを使う

10 :デフォルトの名無しさん:2006/02/05(日) 01:00:27
>>9
global kwsk

11 :デフォルトの名無しさん:2006/02/05(日) 01:52:05
gtags
htags

12 :デフォルトの名無しさん:2006/02/05(日) 03:10:25
ソースを飲む技術

13 :デフォルトの名無しさん:2006/02/05(日) 03:30:12
暗記力とプログラム構造を頭の中にイメージする力かね。
ツールの使い方みたいな小手先の技術なんてどうでもいいよ。

14 :デフォルトの名無しさん:2006/02/05(日) 03:43:58
俺は目玉焼きにソースかけて食べる派

15 :奈々@スーパープログラマ ◆Xl6OTFSLJ2 :2006/02/05(日) 13:32:47
>>14
俺は塩だな。
気分によってはあら引きのコショウを少々。

16 :デフォルトの名無しさん:2006/02/05(日) 13:49:15
とりあえず、Code Readingを読めばいいんでないかい?

17 :デフォルトの名無しさん:2006/02/05(日) 14:18:31
やっぱり音読が一番でしょ
孔子さまもおっしゃってる通り100回声に出して読みたいプログラム

18 :デフォルトの名無しさん:2006/02/05(日) 14:30:16
doxygen使ってます
ただしソースの量が多くなるとジェネレートで相当待たされる
CPUの使用率も高く、その間何もできなくなるな

19 :デフォルトの名無しさん:2006/02/05(日) 14:59:28
特別な経験や暗記力は不要
構造を図式化するだけ

図式化は面倒ではあるが、完成してしまえば
規模、構成、バグなどを短時間で理解できる

20 :デフォルトの名無しさん:2006/02/05(日) 15:11:21
>>19
ただし相手が糞ソースでないことが前提である。

21 :デフォルトの名無しさん:2006/02/05(日) 15:20:01
糞ソースでないことはほとんどない

22 :19:2006/02/05(日) 15:56:01
糞コードを図式化する
糞コードだからこそ図式化する
理解するための図式化
糞コードでなければ図式化は不要

23 :デフォルトの名無しさん:2006/02/05(日) 16:23:23
そこでdoxygenですよ

24 :デフォルトの名無しさん:2006/02/06(月) 08:28:46
コメントを書き込みながら読む

25 :デフォルトの名無しさん:2006/02/06(月) 10:22:53
構造化エディタ(古い表現だな)で分岐先へ飛んだり戻ったりしながら流れを追いかけるのが楽だな
あとは読み解いたソースを頭の中でイメージ化できるかと小人さんがどれだけ動いてくれるかに掛かってくる

26 :デフォルトの名無しさん:2006/02/06(月) 12:03:47
仕様書が無いと難解。
きれいなソースでも時間がかかる。

27 :デフォルトの名無しさん:2006/02/06(月) 12:50:42
デバッガ使ってステップ実行とか、
ログ仕込むとか。

28 :デフォルトの名無しさん:2006/02/06(月) 13:27:38
実行してどうする
読めよ

29 :デフォルトの名無しさん:2006/02/06(月) 14:41:44
ソースを読む技術よりも

バイナリを読む技術を教えて欲しい

30 :デフォルトの名無しさん:2006/02/06(月) 16:12:10
機械の体を手に入れる

31 :デフォルトの名無しさん:2006/02/06(月) 16:13:47
>>30
人間だからといって、
DNAが読めるわけでもあるまい。

32 :デフォルトの名無しさん:2006/02/06(月) 16:16:35
>>30
999に乗れ。

33 :デフォルトの名無しさん:2006/02/06(月) 17:59:48
>>29
ttp://delegate.uec.ac.jp:8081/club/koken/~ubora/inst_set.html

34 :デフォルトの名無しさん:2006/02/06(月) 18:23:38
>>10
これだろ

GNU GLOBAL
ttp://tamacom.com/global-j.html

35 :デフォルトの名無しさん:2006/02/06(月) 23:49:05
とりあえず有名そうなとこ
「ソースを読むための技術」
ttp://i.loveruby.net/ja/misc/readingcode.html
「ひらメソッド」
ttp://hira.main.jp/wiki/pukiwiki.php

36 :デフォルトの名無しさん:2006/02/07(火) 02:26:48
ひらメソッドって、頭の使い方を工夫することを放棄してるな。
まあ著者もそのうち成長するのだろうけど。


37 :デフォルトの名無しさん:2006/02/07(火) 19:43:19
>>36
kwsk


38 :デフォルトの名無しさん:2006/02/08(水) 03:47:42
まず良いソースがどんなものかサンプルがいるな

知っている奴リンク張れや

特に>>1

39 :デフォルトの名無しさん:2006/02/08(水) 09:38:53
むしろ下手なソースを挙げて
改善していくことにより
設計のまずさなども
学習できる。
でも俺は挙げん。

40 :デフォルトの名無しさん:2006/02/08(水) 09:58:04
下手なソースを改善することも重要だけど、
下手なソースを素材そのままにいかに付き合うか、これも重要。

41 :デフォルトの名無しさん:2006/02/08(水) 11:02:42
>>38
つ【http://www.nethack.org/

42 :デフォルトの名無しさん:2006/02/08(水) 18:06:00
どんなに良い食材を使っても
ソース一つで台無しになる場合があるからな。

43 :デフォルトの名無しさん:2006/02/08(水) 18:17:39
>>42
ふらんすじんにあやまれ

44 :デフォルトの名無しさん:2006/04/16(日) 17:16:56
今このとき――

   我々は立ち上がる――

      /\     我が名を永遠に刻むため――
    /∬ \
   / .人   \
 / (__)   /\
 \(__) /  \    時は満ちたり!
   \   /       \            ニュース速報  いざ出陣!!
    \/        \
          ∧∧∧∧\
         (  ´/) ))ヽ∧
         /   /  / ´∀) ∧∧
       ○(   イ○  (   ,つ, ,゜Д゜)
       /ヽ  )) ヽ  )ヽ )と  , イ
       (_/(_/(_/(_/ノ(_/⊂ノ> )J
   / ̄Y ̄`|/ ̄^Y ̄ヽ/ ̄ ̄Y `´ ̄\  http://live22x.2ch.net/news/

45 :デフォルトの名無しさん:2006/05/07(日) 20:46:04
良い小説って
目次や登場人物一覧とかってなくても
章立てや人物の特徴(?)とかが明確になっているから読める

プログラムソースコードもそーゆー事だ

46 :デフォルトの名無しさん:2006/10/02(月) 01:54:26
製作者がプライド捨てて簡潔・平易に書いたソースが理想的。
製作者がこれでもかってくらい知識ひけらかして書いたソースって、
ソースのメンテ拒否してるようにしか見えない。
そしてコメント内容が間違ってるなんて論外。

47 :デフォルトの名無しさん:2006/10/02(月) 05:07:35
>>46 の意訳: 私はバカです

48 :デフォルトの名無しさん:2006/10/12(木) 01:57:22
知識をひけらかして読めないコードってどういうんだよ?

49 :デフォルトの名無しさん:2006/10/12(木) 03:20:17
template<char x>int _(int){return x;}int i,L;int main(){L

=++ i;_
<'_'> ('_')
/i | L/ i | L
/ L / L ;;;

}

50 :デフォルトの名無しさん:2006/10/18(水) 00:50:20
>>46
プログラマなんて掃いて捨てるほどいるんで、
ソース読めない方はとっとと転職する事を勧める。

51 :デフォルトの名無しさん:2006/10/18(水) 03:51:11
>>50
オマエ等ドカチンの根性主義はどうでも良いんだよ
こういう問題意識から新しいパラダイムが生まれるんだ

52 :デフォルトの名無しさん:2006/11/04(土) 20:03:53
仕事が遅い奴はソースを読むのが駄目。
そういう奴ほどソースを眺めているだけで読んではいない。
ソースは斜め読みをしてはいけない。

53 :デフォルトの名無しさん:2006/11/04(土) 20:28:55
すぱげりーソース読みたくないので職変えるか

54 :デフォルトの名無しさん:2006/11/04(土) 20:52:32
>>52
あなたの言う眺めると読むの違いは?

55 :デフォルトの名無しさん:2006/11/05(日) 03:10:09
テーマに詳しくて、基本的に計算式とか技法とか原理とか理解してれば
斜め読みでも何をやっているのか、おおよその見当はつく。
逆だといくら努力してもわからない。

建築わからない人が構造計算のプログラム見てもしょうがないとかそういうことだろ。

56 :デフォルトの名無しさん:2006/11/05(日) 04:23:51
>>54
眺めるというのはただソースをスクロールさせているだけで
脳が知らず知らずのうちにソースを拒絶している状態。
読むというのは一字一句まで読む位の覚悟と集中力で
8時間くらいぶっ通しでソースを頭に叩き込む作業。

57 :デフォルトの名無しさん:2006/11/06(月) 00:24:22
「8時間っすか」

58 :デフォルトの名無しさん:2006/11/29(水) 17:59:48
そう、8時間。

59 :デフォルトの名無しさん:2006/12/05(火) 00:58:50
時間というより「読んだ〜」という気になるのはスタックが
10段とか上下しつつデータが分割されたり再構成されるフローの
イメージがぴしっと立ち上がった時。

過程の90%位までは「あれがこうなってそうなるとああなって・・・」の
各々の処理フローが脳内で交差してるだけなのに、臨界点を過ぎると
パズルのピースの様にスパスパはまる。で、そこから設計意図(そもそも
なぜその処理・実装が選択されてるのか)が逆に理解できたら
「ソースが読めた」ということだと思う。「ここはこうなりゃいいのに」と
思った所が次のリリースできっちり直ってきたりすると気持ちいい。


60 :デフォルトの名無しさん:2007/02/14(水) 06:40:04
持ちネタないけどage

61 :デフォルトの名無しさん:2007/02/14(水) 07:31:47
オフショアであっても、現地語でいいから
コメント入れとけといいたい

62 :デフォルトの名無しさん:2007/02/14(水) 07:53:41
カネもらってPG読む仕事なんて
「まだ動かないけど」なんてさわやかな笑顔で
いきなりキングファイル5冊とか渡されるんだぜ?

63 :デフォルトの名無しさん:2007/02/14(水) 13:46:05
日本語のコメントが書かれたソースを
英語圏の人に渡したら文字化けしたまま読んでたんだけど
その人は「文字化けしてる」という事実にすら気付いていなかったようだ

64 :デフォルトの名無しさん:2007/02/14(水) 13:54:16
あらゆるコメントの90%はクズ

65 :デフォルトの名無しさん:2007/02/14(水) 22:29:19
コメントについてのコメントが必要だ。

66 :デフォルトの名無しさん:2007/02/15(木) 01:46:07
どうコメントすればいいかわかりません!

67 :デフォルトの名無しさん:2007/02/15(木) 02:18:13
>>66
// どうコメントすればいいかわかりません!

こうですか?わかりません!><

68 :デフォルトの名無しさん:2007/02/15(木) 07:54:19
#もう〜
#つまんなすぎっ!

69 :デフォルトの名無しさん:2007/02/15(木) 11:33:45
必要なコメント:
・思いつきアルゴリズムの処理の前に、軽く流れを説明するコメント。
・関数の前には一行要約。
・定石にそぐわない処理に理由を説明。
 例えばmallocの戻り値をチェックしない等。

不必要なコメント:
・ブロックの最後に、ブロック先頭の文を添える。以下例。
if(C) {
} // if(C)
・式や文単位で処理の内容を説明するコメント。以下例。
if(C) // Cは真か?
 fprintf(fp, "('A`)"); // fpに顔文字"('A`)"を出力。
・自分語り。「ここはこのように書くべきだ!」等。

70 :デフォルトの名無しさん:2007/02/15(木) 12:32:08
他人の書いた小汚いソースを読むほど腹の立つことはない

71 :デフォルトの名無しさん:2007/02/15(木) 15:08:20
ナナメにさらさら眺めてたら今の自分にとって重要な個所が強調表示されてで見える。

72 :デフォルトの名無しさん:2007/02/15(木) 15:14:38
>>69
> 必要なコメント:
> ・関数の前には一行要約。

関数自体や引数にコメントがいらないくらい、
適切な名前が付けられているのがベストだと思う。

73 :デフォルトの名無しさん:2007/02/15(木) 16:19:10
確かに。ベストはそうかも知れませんね。
貧相な環境でソース解析する時に、処理内容が想像しやすい関数名にどれだけ助けられたことか。

>>69 ミス訂正。
×定石にそぐわない
○定石から外れた

74 :デフォルトの名無しさん:2007/02/15(木) 22:17:20
=begin
いやんのびたさんのエッチ
=end

75 :デフォルトの名無しさん:2007/02/22(木) 01:02:45
コメントは処理内容よりもデータの説明と背景説明をしっかり
やってほしい。

おおざっぱな処理目的と図に描ける程度のデータの説明があれば、
後はモジュール冒頭とか中核コード周辺の要所要所に何でそんな処理を
しているのかとか、なんでその方法を選択しているのかとか、
どういう経緯で現在の形に至ったのかとかコードに直接関係しない
背景情報を書いておいてほしい。

そのコードに関する背景なら自分語りでもいいので冗長なまでに
書いた上で、TODO/FIXME/WONTFIX/BUG/INFOとかタグ打ちしておいて
貰えれば意図をつかんだり斜め読みする時助かる。処理内容の
説明は簡単にコードと乖離するけど、背景情報は変わらないから。


15 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)