-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Add & Improve XML documentation for public LiteDB API #2725
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
TyKonKet
wants to merge
22
commits into
litedb-org:dev
Choose a base branch
from
TyKonKet:dev
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Updated and expanded the XML documentation for the `BsonAutoId` enum to clarify its purpose and behavior.
Enhanced and expanded XML documentation across the `LiteDatabase` class to improve clarity, usability, and developer experience.
Enhanced and standardized XML documentation across the `BsonMapper` class to improve clarity, consistency, and usability.
Enhanced inline XML documentation for the `EntityBuilder<T>` class and its methods to improve clarity, usability, and developer experience.
Enhanced the `ConnectionType` enum in the `LiteDB` namespace by adding detailed XML documentation for the enum and its members (`Direct` and `Shared`). The documentation explains their purpose, usage scenarios, and limitations, improving code readability and maintainability.
Enhanced documentation for `Collation` and `LCID` classes: - Added detailed XML comments for properties, methods, and classes. - Improved clarity of purpose.
Enhanced XML documentation for `EngineSettings` class and `SharedMutexNameStrategy` enum to provide clearer descriptions, usage details, and improved developer navigation.
Added detailed XML documentation to `BsonDocument` and `BsonValue` .
documentation for its purpose, properties, and error codes.
Enhanced XML documentation for methods, properties, and enums to improve clarity and usability. Added `<remarks>` sections for additional context and examples. Updated property and method descriptions for consistency and precision.
Enhanced XML documentation across `ILiteStorage<TFileId>`, `LiteFileInfo<TFileId>`, `LiteFileStream<TFileId>`, and `LiteStorage<TFileId>` to provide detailed explanations, examples, and best practices. Updated method descriptions for clarity and aligned them with functionality.
Enhanced and standardized XML documentation for the `ConnectionString` class: - Expanded the summary to include detailed explanations and examples. - Added a remarks section with a table of supported parameters. - Improved property documentation with consistent descriptions, default values, and `<see cref="..."/>` references. - Refined constructor documentation, including `<param>` and `<exception>` tags. - Updated indexer documentation with `<param>` and `<returns>` tags. - Standardized formatting and terminology across all comments. - Improved IntelliSense integration with `<see langword="null"/>` and `<see cref="..."/>` references.
Enhanced the `BsonDataReader` class with detailed XML documentation for constructors, properties, and methods. Replaced inline comments with `<inheritdoc/>` tags for consistency and maintainability. Added a `Dispose` method and finalizer for resource management. Updated the `IBsonDataReader` interface with comprehensive XML documentation and remarks to clarify its role in efficient sequential access to query results.
Enhanced XML documentation for `ILiteDatabase` interface, adding detailed descriptions, usage scenarios, and `<remarks>` sections for methods and properties. Refactored `LiteDatabase` class to use `<inheritdoc/>`, centralizing documentation in the interface and reducing redundancy. Improved parameter and return value descriptions, clarified SQL execution methods, and expanded file storage operation details. Standardized terminology and ensured consistency across the API. Added contextual remarks for key operations like transactions, checkpoints, and rebuilds.
Enhanced the `Pragmas` class with XML documentation for better clarity and maintainability.
…LiteEngine`, to improve clarity and maintainability.
Enhanced XML documentation for the `RebuildOptions` class and its members to improve clarity and maintainability. - Added detailed summaries and remarks for class properties and methods. - Clarified the purpose of `_buildId`, `Password`, `Collation`, and `IncludeErrorReport`. - Expanded `GetErrorReport` documentation with a detailed description of the error report structure and behavior. - Improved consistency using `<see cref="..."/>`, `<remarks>`, `<list>`, and `<item>` tags. These changes aim to make the class more self-explanatory and user-friendly for developers configuring database rebuild operations.
Enhanced XML comments for properties and methods in the `ILiteDatabase` interface to provide additional context, default values, and usage notes. - Documented default values for `UserVersion`, `Timeout`, `UtcDate`, `LimitSize`, `CheckpointSize`, and `Collation`. - Clarified behaviors for properties like `LimitSize` and `CheckpointSize`. - Added remarks to `Collation.Default` to explain fallback to `CultureInfo.InvariantCulture` when the current culture is unsupported. These changes improve clarity, usability, and consistency of the `LiteDB` library documentation.
Replaced explicit XML comments with `<inheritdoc/>` across the codebase to reduce redundancy and ensure consistency. Enhanced the `ILiteCollection<T>` interface with detailed documentation, including summaries, parameter explanations, return values, remarks, and examples. Updated the `LiteCollection<T>` class to inherit documentation from the interface. Added high-level summaries, clarified behavior for query and indexing methods, and standardized return value descriptions. Deprecated the `InsertBulk` method with updated remarks recommending alternative usage. Highlighted ACID compliance for operations and improved clarity for LINQ and BSON expression overloads. These changes improve code readability, maintainability, and developer experience while ensuring scalability for future updates.
…led XML documentation for all methods, improving developer usability and discoverability. Replaced inline comments in `LiteQueryable<T>` with `<inheritdoc/>` to ensure consistency and maintainability.
…iled `<param>`, `<returns>`, and `<exception>` tags.
Enhanced XML documentation for the `ObjectId` class, including detailed descriptions, parameter explanations, and exception details. Added remarks to clarify the structure and uniqueness of `ObjectId`.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR enhances and completes the XML documentation (
///comments) for LiteDB's public API, focusing on public types, methods, properties, and events. The goal is to provide better IntelliSense support, clearer usage guidance, and to help both maintainers and users understand the responsibilities and semantics of each API component.All changes are grouped by logical type areas, with each commit covering 1–3 related classes. These include core database classes, mapping types, storage abstractions, and collection interfaces.
Why this change matters:
Summary of Documented API Areas
Here is a non-exhaustive list of the API surface that received documentation in this PR (organized by logical groups). Each bullet corresponds roughly to the scope of individual commits:
LiteDatabase / Core Engine
LiteDatabaseinstanceMapper,FileStorage,Timeout,UserVersion, etc. ([litedb.org][1])Bson / Document Model
BsonDocument: semantics of key-value pairs, valid key names, behavior of nested documentsBsonValuetypes and conversion rules (if present in the documented types)Object Mapping / BsonMapper
EntityBuilder,Id(),Ignore(),Field(),DbRef()([litedb.org][2])RegisterType<T>Impact and Considerations
Backward compatibility:
This change is non-breaking—it only adds or refines XML documentation comments, without altering any logic or public API signatures.
Testing / Validation:
Next Steps / Suggestions:
<param>,<returns>, and<exception>tags are used correctly and consistently.