ソースコードを読んでください---- RTFM
ソースコードの前に秘密はない---- Hou Jie
このプロジェクトは主にJDK
ソースコードを読んだときの理解と経験を参考のために整理/記録します。
プロジェクトには複数のブランチが含まれており、メイン ブランチの名前はmaster
、テスト ブランチの名前はtest
、ソース コード/ノート ブランチの名前はJDK-X
( X は JDK バージョン) にちなんで付けられます。
master
ブランチは、ソース コード ノートとテスト コードのスナップショットをコンパイルすることがあります。
JDK-X
ブランチには、 JDK
のソース コードとメモが保存されます。読み取りプロセス中に生成されたメモは、コメントの形式でソース コード ファイルに直接書き込まれます。
test
ブランチには、理解を助けるためにテスト コードが保存され、直接実行できます。
OracleJDK
/ OpenJDK
11の環境で実行することを推奨します。箱から出してすぐに使用できます。プロジェクトをローカルにクローン/ダウンロードし、 IntelliJ IDEA
で開きます。
ソースコードを読むときは、 JDK-X
ブランチに切り替えてください。JDK JDK
関連付ける必要はありません。
ソースコードをテストするときは、 test
ブランチに切り替えてください。このとき、 OracleJDK
/ OpenJDK
を関連付ける必要があります。
このソース コードは直接コンパイルをサポートしていません。 JDK
プロジェクト全体を完全にコンパイルしたい場合は、公式チュートリアル「JDK の構築」を参照してください。
個々の依存関係ファイルが欠落しているためにソース コードでエラーが報告された場合は、関連する jar パッケージを Google で検索してインポートしてください。または、Github の問題に関するフィードバックを残すこともできます。
Github の問題に関する良いアイデア、提案、意見を交換することを歓迎します。
シリアルナンバー | 絵文字 | このプロジェクトにおける意味 | 略号 |
---|---|---|---|
(0) | ? | プロジェクトの初期化 | :tada: |
(1) | README を含む (ただしこれに限定されない) ドキュメントを更新します。 | :memo: | |
(2) | 新しい読書ノートの発行(注1) | :bulb: | |
(3) | 読書メモの増分更新 | :sparkles: | |
(4) | ♻️ | リファクタリングとは、主に既存の読書ノートを修正することを指しますが、まれにソースコードが修正されることもあります(注2)。 | :recycle: |
(5) | ✏️ | 校正とは主に、タイプミスの修正、ソース コードのグループ化の調整、ソース コードの組版の変更などを指します。 | :pencil2: |
(6) | ✅ | テストファイルを公開する | :white_check_mark: |
注1:
現在の特定のソースコードの読み込み状況については、読み込みコード一覧_関数別を参照してください。
注 2: ソース コードの変更を伴うシナリオには次のものが含まれますが、これらに限定されません。
意味のない変数名をよりわかりやすい変数名に変更します。
制御ステートメントのスコープにおける中括弧の完成。
制御ステートメントの構造を再構築します (if ステートメントの分割や for/while の交換など)。
for ループと foreach ループ間の変換。
長すぎて読み取りにくい呼び出しチェーンを分割し、中間プロセスを分離します。
頻繁に発生する操作を 1 つのメソッドに抽出します。
1 つのファイル内の複数のトップレベル クラスを別のファイルに分割します (内部クラスは分割されません)。
匿名クラスと非匿名クラス間の変換。
匿名クラスと関数式の変換。
関数呼び出しと通常の呼び出しの間の変換。変更の原則は、元のコードのロジックと実行結果を変更せずに、できるだけ変更を少なくすることです (マルチスレッドを伴うコードは少し混乱します)。
修正の目的は、読みやすさを向上させ、メモの挿入を容易にすることです。
オラクルJDK
OpenJDK
コミット情報のemoji
の参照元:
完全な絵文字リスト
ギトモジ