[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/09 18:37 / Filesize : 18 KB / Number-of Response : 101
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ソースを読む技術



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

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

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

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

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

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

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

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

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

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

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


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



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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


76 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 21:51:25 ]
なる程。参考になる。

77 名前:デフォルトの名無しさん [2007/04/07(土) 19:36:42 ]
読む話じゃなくて書く話になっとる

78 名前:730 [2007/04/07(土) 20:36:33 ]
うまく読む技術など存在しない
日本の国語教育の弊害だな。
相手の意図を汲み取るより
自分の意図を的確に伝える教育が必要だ。



79 名前:デフォルトの名無しさん mailto:sage [2007/04/08(日) 10:47:04 ]
CODE READINGとか読む技術の本だけど。

80 名前:デフォルトの名無しさん mailto:sage [2007/04/19(木) 14:16:51 ]
ある日曜プログラマの言葉
「この世の中で、最も理解しがたいのは、過去の自分のプログラムである」



81 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 19:02:02 ]
「何で俺以外が書いたソースってこんな汚いんだ。」って、みんな思ってる。

82 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 19:39:54 ]
読みたくないと思わせるようなソースを書くやつの方が圧倒的に多いけど、読みやすい人も多少はいるお。

83 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 22:14:54 ]
プロトタイプだからということで殴り書きで作っていたら、
なぜか途中でリリース版になりました。

後を引き継いだ人、がんばって!

84 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 00:13:38 ]
他人に読みやすくなんて書いてやらねーよ
読むんじゃねーよスケベ

85 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 00:54:49 ]
入社時にちゃんと事細かい契約書にサインさせているとこならいざしらず、
そうじゃない会社ならソースファイルは個人の創作物だとか言い張って他人に
見せないってことはできなくはないだろうな。裁判では多分確実に負けるだろうけどw

86 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 10:56:59 ]
>>83
あるあるw

87 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 02:33:56 ]
>>85
ソースのコメントを全て削除しろw
コメント部分はプログラムではない。
自分しかわからない用語を沢山つかえ!

88 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 05:55:52 ]
>>84
今日の自分は明日の他人なんだよ
ソースを読みやすく書くのは他人のためじゃなく自分のためだよ
保守も含めてプロジェクトに関わった経験長ければ長いほどそうなる

汚くて言いと云ってる香具師は短期プロジェクトしか知らないか
作りっ放し逃げっ放しだったんだろうな



89 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 06:09:41 ]
ネタにマジレスしてまで偉そうなことが書きたいとw

90 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 06:21:37 ]
2chなんてみんなそうじゃないか
全力で喰いついた方が盛り上がるだろ



91 名前:デフォルトの名無しさん [2007/06/09(土) 14:29:20 ]
盛り上がる?

92 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 15:32:24 ]
>>88
ひんと:偽装派遣

93 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 16:38:47 ]
読むのが大事とか言うけど
書く経験が相当無いと読めないんと思うんですが間違ってますか?
少なくともAPI関数とかライブラリの機能何て何度か使った経験が無いと
それがどんな挙動するか分からないし…

94 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 18:38:33 ]
そんなんどっかに書いてあるやろ

95 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 18:40:20 ]
書いてある事の詳細が理解できなく
いったんそれのテストプログラム作って動作確認しちゃうんですが
それじゃまずいって事ですよね?

96 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 18:43:49 ]
べつにまずくはないだろうけど、人のコード読む時に全ての詳細を理解しようとしてたらキリがないよね。

97 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 18:46:50 ]
ソースを読むコツは、全体把握


98 名前:デフォルトの名無しさん [2007/06/09(土) 19:10:56 ]
効率よく、全体把握するコツを、教えてください。

99 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 19:16:38 ]
なんつーか全体を把握するのに必要な情報をつかむ為に細部を調べて悩んでる状態なんだよね俺
一応マクロとか作って手でテストコードを0から書く手間は減らしてるから
そんなに面倒でもないんだけど、理想はそんな事せずにすらすら読んでいきたいもんなんだ
やっぱ慣れていくうちに変わるもんなんだろうか?

100 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 19:46:58 ]
ストーリーよりもデータ構造を理解するように努める








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<18KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef