私はLevelDBのコードを読んでいますが、私は使用されているTEST_プレフィックスを越えて走っています。私はTEST_が、このメソッドが他の方法では公開されていない内部でも動作するためのテストに使用されていることを示していることを期待しています。このように、私はこれがどれもクリティカルな経路にはないと思っています。私は彼らが主要な方法のどれにもいないと思っています。しかし、例えば、TEST_CompactRangeは、コンパクト・レンジから呼び出されます。コンパクト・レンジは、主要なコンパクション・パスの一部です。このTEST_プレフィックスは何を意味し、どこでこの情報を見つけることができますか?LevelDB TEST_メソッドのプレフィックス
0
A
答えて
0
APIの一部ではない公開メソッドには、TEST_
接頭辞が使用されているようです。これらのメソッドは、テストを容易にするために公開されているだけで、ユーザーが呼び出さないようにするには、接頭辞TEST_
が付いています。
これらのメソッドがクリティカルパスに表示されないのはなぜですか?彼らは私的な方法のようですが、テストのために見えます。
その他の思考:
- 私はこの命名規則がベストプラクティスであるかどうかはわかりません。 C++にはfriend declarationsというものがあります。明確にするために、私はちょうど
TEST_
接頭辞を持つメソッドのほんの一握りに基づいた推測を作ってるんだ: - 命名規則は、Javaグアバライブラリの
@VisibleForTesting
注釈
編集に似ています。コードベースをグレープすると、そのようなメソッドだけが次の(すべてのpublic)であることがわかります:
// Compact any files in the named level that overlap [*begin,*end]
void TEST_CompactRange(int level, const Slice* begin, const Slice* end);
// Force current memtable contents to be compacted.
Status TEST_CompactMemTable();
// Return an internal iterator over the current state of the database.
// The keys of this iterator are internal keys (see format.h).
// The returned iterator should be deleted when no longer needed.
Iterator* TEST_NewInternalIterator();
// Return the maximum overlapping data (in bytes) at next level for any
// file at a level >= 1.
int64_t TEST_MaxNextLevelOverlappingBytes();
関連する問題
- 1. LevelDB --- C++のコード
- 2. leveldbの整数値
- 3. LevelDBのダウンロード問題
- 4. leveldb WriteBatchアイソレーション
- 5. LevelDBキー、CSV
- 6. LevelDB C iterator
- 7. WebOS LevelDBとGoogle LevelDBの違いはありますか?
- 8. Riak kv leveldb破損
- 9. leveldbのキーサイズの変更
- 10. LevelDBの構築とパフォーマンス
- 11. leveldbデータベースをブラウザに転送
- 12. leveldbへの未定義の参照オプション
- 13. 同時に複数のlevelDBデータベースのインスタンス
- 14. db接続後のレンダリング - Nodejs LevelDB
- 15. プレフィックス
- 16. 「_」プレフィックス
- 17. LevelDBを値でソートする方法
- 18. Liferayポートレットのプレフィックス
- 19. レールジェネレータのプレフィックス
- 20. -webkit-アニメーションのプレフィックス
- 21. ASP.NET 2.5プレフィックスctl00とASP.NET 4プレフィックスctl00
- 22. ネームスペースWsdl(.net)のプレフィックス
- 23. トレイルアカウントのTwilio SMSプレフィックス
- 24. ASP.NET INamingContainer - オプションのプレフィックス
- 25. Nプレフィックスとパラメータ
- 26. プレフィックスとBindAttribute
- 27. プレフィックスSQLデータベースエントリ
- 28. プレフィックス番号コンテキスト
- 29. ブドウ:動的プレフィックス?
- 30. Phalconカラム名プレフィックス