Skip to content

Add XML documentation comments to all public members (CronSettings, CronCraftService) #11

Description

@teesofttech

Description

CronSettings and CronCraftService lack XML documentation comments. Without these, IDE IntelliSense shows no descriptions when users hover over API members, which hurts the developer experience for a library that's consumed via NuGet.

Current State

// CronSettings.cs — no XML docs
public class CronSettings
{
    public string Language { get; set; } = "en";
    public string DayNameFormat { get; set; } = "short";
    public string? TimeZone { get; set; }
}

Expected State

/// <summary>
/// Configuration options for CronCraft expression parsing and formatting.
/// </summary>
public class CronSettings
{
    /// <summary>
    /// The language code for output text. Supported values: "en" (English), "es" (Spanish), "fr" (French).
    /// Defaults to "en".
    /// </summary>
    public string Language { get; set; } = "en";

    /// <summary>
    /// The format to use for day names in output. Accepted values: "full" (e.g., "Monday"),
    /// "short" (e.g., "Mon"), "single" (e.g., "M"), or "custom" (requires <see cref="CustomDayNames"/>).
    /// Defaults to "short".
    /// </summary>
    public string DayNameFormat { get; set; } = "short";

    /// <summary>
    /// The IANA or Windows timezone identifier to convert UTC cron times into.
    /// When null, times are returned as-is (UTC). Example: "W. Europe Standard Time".
    /// </summary>
    public string? TimeZone { get; set; }
}

Files to Update

  • CronCraft/Models/CronSettings.cs — all public properties
  • CronCraft/CronCraftService.cs — class and Describe method
  • CronCraft/Extensions/CronHelper.csToHumanReadable extension method (may already be partially done)

Acceptance Criteria

  • All public classes have <summary> tags
  • All public properties have <summary> tags
  • All public methods have <summary>, <param>, and <returns> tags
  • <example> tags are added to demonstrate usage where appropriate
  • Documentation builds without warnings (<GenerateDocumentationFile>true</GenerateDocumentationFile> in .csproj)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

documentationImprovements or additions to documentationgood first issueGood for newcomers

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions