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)

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