3

私は学生で、この休暇中は自由な時間がたくさんあるので、良いコードの書き方についてもっと学ぶことに時間をかけることにしました (現時点で私が知っているのは C といくつかの C++ だけです)。

私の質問は、いくつかのアプリケーションのソース コードを見つける方法についてです。特定のライブラリを使用しているソースコードを探しているとしましょう。興味のあるライブラリを使用しているオープン ソース プロジェクトを見つけるにはどうすればよいですか。

Google コードと sourceforge を試しましたが、成功しませんでした。検索してもわからないと思います。それを行う方法についてのアドバイス/リンクはありますか?

4

9 に答える 9

5

オープン ソース コードを見つけるためのワンストップ ショップはありません。

よく書かれたコードを読みたい場合、 GNU の Savannahは、GNU のもの (Binutils、GCC ツールチェーン、その他多数) のブラウズ可能なリポジトリです。GNU ソフトウェアの IMHO は、どこよりも優れた C 言語の 1 つです。

また、オープンソースのマイクロカーネル ベースのオペレーティング システムであるMINIXをチェックアウトすることもできます (これも POSIX に準拠しています)。

Gnome プロジェクトには、C から Python、さらには C# (FSpot) まで、幅広い言語をカバーする多くのプロジェクトがあります。

プロジェクトを検索するとき、名前がわかっている場合は、Google が役立ちます。そうでない場合は、Google で「libfoo」などのライブラリを検索するか、使用しているパッケージ マネージャーのメタデータを調べてください (多くの場合、上流のメンテナーの Web サイトがあります)。

例えば:

[aiden@devbox ~]$ ldd /bin/ls
    ...
    libcap.so.2 => /lib64/libcap.so.2 
    libacl.so.1 => /lib64/libacl.so.1 
    libc.so.6 => /lib64/libc.so.6 
    libpthread.so.0 => /lib64/libpthread.so.0 
    ...

「libpthread」をグーグルで検索して、それがGNU Cライブラリの一部であることを確認できました

FOSS/C に参加したい場合は、 Gitsubversionなどのソース管理システムの使用方法と、パッチを作成するための diff の使用方法を学びます。人々と話すと、彼らは常に新しい開発者にバグのトリアージと問題の修正を求めています。しかし、あなたはおそらく序列と登るべき社会的はしごを見つけるでしょう.

頑張って楽しんでね!

于 2009-06-26T10:09:59.667 に答える
1

もし見つけたら「The Dragon Book」を見てみてください。Spinelli のコード リーディングも優れています。どちらも、読んでいるコードを理解するのに役立ちます。

于 2009-06-26T09:37:14.523 に答える
1

ライブラリに含まれていることがわかっている特定のメソッドがある場合は、いつでもそれらを検索できます。

または、ライブラリに irc チャンネルまたはニュースグループが設定されている場合は、そこで質問してください。

于 2009-06-26T09:14:08.127 に答える
0

Launchpad.net にアクセスして、フレンドリーな Ubuntu コミュニティに連絡してください。これは、質問をしてもそれほど厳しくないため、開始するのに適した場所です.

于 2009-07-13T14:40:43.493 に答える
0

コーダーズが役立つかもしれません。ソースコードの検索エンジンです。

于 2009-06-26T10:28:06.497 に答える
0

Scott Hanselman は彼のブログにThe Weekly Source Codeというシリーズを掲載しており、チェックする価値があります。

于 2009-08-03T02:46:12.890 に答える
-1

4つの「簡単な」ステップ:

  1. 使用して楽しむ無料のアプリケーションを選択してください
  2. 欠けている機能について考えてください
  3. この機能を実装する方法を見つけてみてください
  4. やれ

ポイント1と2は、あなたが物事を行うことを維持します。

ポイント3では、ソースをダウンロードする方法、パッチを読む方法、さまざまな人のコードを理解する方法を学びます。

そして、ポイント4では、コーディングを練習し、必要に応じて、プロジェクトとの正式なコラボレーションを開始できます:)

于 2009-06-26T10:56:26.890 に答える