回答:
あなたはそれを読むかどうか?
はい。
もしそうなら、どのくらいの頻度で
毎日。常に。私は多数のオープンソースプロジェクト(主にPython関連)で作業しており、最も正確なドキュメントであるため、ソースを読む必要があります。
そして、コードを読む手順は何ですか?
あの 開いて読む。
また、初心者がSVNを扱うのは少し難しいです-ファイルの束。解決策は何ですか?
開いて読む。その後、詳細をご覧ください。
簡単ではない。簡単なことは何もありません。理解するための王道はありません。仕事が必要です。
あなたが抱える難問にはいくつかの層があります。まず、いわば鳥瞰図である高レベルから始めます。プロジェクトをチェックアウトすると、ディレクトリ構造に多数のファイルが作成されます。それは、オープンソースであろうとクローズドソースであろうと同じです(ソースコードは結局ソースコードです)。だからこれから始めましょう:
練習が必要ですが、間違いなく実行可能です。アプリケーションが使用しているライブラリとフレームワークについて理解すればするほど、コードを整理する方法と、特定の質問に対する答えを探す場所がわかります。一部のコードは、特にかなり間接的である場合、追跡するのが少し難しくなります。だからこそ、鉛筆と紙が必要です。最終的にあなたの頭の中で電球が消え、あなたはそれを手に入れます。それは、コードの残りの部分を読むことが非常に理にかなっているときです。
小説を読むようなものではなく、参考書を読むようなものです。良い方法は、チェックインメッセージから最近修正されたバグを選択し、変更内容の差分を取り、問題と解決策の両方を理解するまで関連する部分を読むことです。よく公開されているセキュリティの脆弱性は、フォーラムで多くの議論があるため、選ぶのが楽しいバグです。次に、バグトラッカーから「ぶら下がっている果物」のバグの1つを選び、自分で修正する方法がわかるまで読んでください。専門家が行うコード読み取りのほとんどは、バグの修正や機能の追加の過程で発生します。
通常、最高のコードサンプルはほとんど目立ちません。一度も読むことなく、すぐに理解できます。優れたコードは通常多くのドラフトを通過しますが、非常に簡単に記述できるように見えます。それはあなたが考えた最初の方法でなくても、もちろん与えられたコードがそれをする明白な方法であるという逆説的な感覚を生み出します。
そのようなコードに出くわしたら、それを書いた洞察と関連する設計原則を理解するようにしてください。そうすれば、将来同じような状況に陥ったときに同じ原則を適用できることを願っています。
複雑な関数を読み取るときによく使用するトリックの1つは、コードセグメントは、ロジックを変更せずに、より読みやすいものにリファクタリングを開始することです。
「ファイルの束」にどう対処しなければならないのですか?文書化されていない限り、組織の予備知識がないことを除いて、独自のコードを書くときと違いはありません。
あなたが主張するプログラマとして、「ファイルの束」からプロジェクト構造を理解できない場合、それは非常に組織化されていないプロジェクトであるか、あなたが不適切なプログラマ(または極端な場合、両方)です。
読み始め、いくつかのエントリポイントまたはその他の重要なピボットクラス/メソッドを見つけて、そこからすべてがどのようにまとめられるかを理解してください。すぐにではなく、時間がかかりますが、ドキュメントがまったくなくても実行できます。
別のプロジェクトのコードを読むときに期待できる最善のことは、APIであろうとソフトウェアであろうと、変数、関数、マクロ名は曖昧に省略したり名前を付けたりせず、その意図を理解できるようにすることです。
しかし、それ以外には、言語、プログラミング手法、そして複雑なコードに飛び込むことができるコードの目的自体にまともな知識が必要です。
私は現在、Luaがその魔法の一部をどのように実行しているかを見ようとしていますが、多くの識別子が漠然と命名されており、どの行が試行されているのかわからない点まで省略されている点に到達しています私が知っていることを行うには、関数コードのある時点で行う必要があります...頻繁に使用される単一文字の変数と、かなり省略されたマクロ/関数名が頭を抱えています。