Skip to content
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

[Feature Request] Update all comments according to XML documentation styling #281

Open
16 of 70 tasks
bvenn opened this issue Jul 11, 2023 · 1 comment
Open
16 of 70 tasks
Labels
Difficulty: Beginner Hackathon projects with beginner difficulty Difficulty: Intermediate Hackathon projects with intermediate difficulty FsLab Hackathon 2023 Implementation projects for the 2023 FsLab Hackathon Status: In Progress

Comments

@bvenn
Copy link
Member

bvenn commented Jul 11, 2023

Description

Documenting your code with XML documentation has the huge benefit of a structured preview and concise description in the automated API reference:

Current triple slash documentation

/// This function takes a collection of x values performs a log transform
let myFunction (xData: seq<float>) = xData |> Seq.map log

Improved XML documentation

/// <summary>This function takes a collection of x values performs a log transform</summary>
/// <remarks>Note, that the log of 0 is -infinity</remarks>
/// <param name="xData">collection of values to be transformed</param>
/// <returns>A collection of log transformed values</returns>
/// <example> 
/// <code> 
/// // e.g. abundance data for ABC
/// let xData = vector [|1.;2.;3.;4.;5.;6.|]
/// 
/// // Apply the log transform to the xData
/// myFunction xData
/// </code> 
/// </example>
let myFunction (xData: seq<float>) = xData |> Seq.map log

References

  • See this examples
  • do not use < or > within the comments, use HTML code instead (&gt; for > and &lt; for <)
  • For further xml tags see: https://learn.microsoft.com/en-us/dotnet/fsharp/language-reference/xml-documentation
  • suggested workflow
    • search for a module that isn't worked on yet
    • go from top to bottom and extend the documentation at any point you can see (modules, types, members, functions)
    • try identify and write meaningful code examples within the xml comments
    • build the repository yourself and check if the comments work as intended when hovering over the functions/modules...
Hints (click to expand if you need additional pointers)

Progress

  • Random
  • Intervals
  • Permutation
  • RunningStats
  • Seq
  • Array
  • List
  • Map
  • JaggedArray
  • Vector
  • Rowvector
  • Matrix
  • Rank
  • Correlation
  • DistanceMetrics
  • Quantile
  • Precision
  • Geometry
  • SpecialFunctions
    • ...
  • Algebra
    • ...
  • RootFinding
    • ...
  • Integration
    • ...
  • Optimization
    • ...
  • Interpolation
    • Polynomial
    • LinearSpline
    • Akima
    • CubicSpline
    • Interpolation
    • Approximation
  • Signal
    • Normalization
    • [] QQPlot
    • Padding guide
    • Binning
    • FFT
    • Wavelet
    • ContinuousWavelet
    • Outliers
    • Baseline
    • Filtering <- domain knowledge required
    • Convolution
    • PeakDetection
  • Distributions
    • every member of each distribution
    • Bandwidth
    • Frequency
  • Testing
    • TTest
  • Fitting
    • LinearRegression
      • OLS
        • Linear
          • Univariable
          • Multivariable
          • RidgeRegression
        • Polynomial
      • RobustRegression
    • CrossValidation
    • NonLinearRegression
    • GoodnessOfFit
    • LogisticRegression
    • Spline
  • ML
    • ...
  • ConfidenceInterval
bvenn added a commit that referenced this issue Jul 11, 2023
bvenn pushed a commit that referenced this issue Jul 12, 2023
bvenn added a commit that referenced this issue Jul 12, 2023
bvenn added a commit that referenced this issue Jul 14, 2023
bvenn added a commit that referenced this issue Jul 14, 2023
module Fitting.quantilenormalization is obsolete
#281
bvenn added a commit that referenced this issue Jul 14, 2023
@bvenn bvenn added Difficulty: Beginner Hackathon projects with beginner difficulty Difficulty: Intermediate Hackathon projects with intermediate difficulty Status: Available and removed help wanted up-for-grabs labels Sep 20, 2023
@bvenn bvenn moved this to Status: Available in FsLab Hackathon 2023 Sep 21, 2023
@bvenn bvenn added FsLab Hackathon 2023 Implementation projects for the 2023 FsLab Hackathon and removed Documentation labels Sep 21, 2023
This was referenced Sep 21, 2023
@bvenn bvenn moved this from Status: Available to Status: In Progress in FsLab Hackathon 2023 Sep 30, 2023
@OwenMadden
Copy link
Contributor

I can take a look at this. I will start with the Signal - Padding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Difficulty: Beginner Hackathon projects with beginner difficulty Difficulty: Intermediate Hackathon projects with intermediate difficulty FsLab Hackathon 2023 Implementation projects for the 2023 FsLab Hackathon Status: In Progress
Projects
Status: Status: In Progress
Development

No branches or pull requests

2 participants