Documentation
¶
Overview ¶
Package godoc provides API documentation analysis capabilities
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Analyzer ¶
type Analyzer struct {
// contains filtered or unexported fields
}
Analyzer provides GoDoc coverage and quality analysis.
func NewAnalyzer ¶
NewAnalyzer creates a new GoDoc analyzer.
func (*Analyzer) AnalyzePackage ¶
AnalyzePackage analyzes a Go package for documentation coverage and quality.
type ConstantInfo ¶
type ConstantInfo struct {
Name string `json:"name"`
Type string `json:"type"`
Value string `json:"value"`
Doc string `json:"doc"`
HasDoc bool `json:"has_doc"`
IsExported bool `json:"is_exported"`
Line int `json:"line"`
}
ConstantInfo contains information about package constants.
type CoverageStats ¶
type CoverageStats struct {
TotalPublicSymbols int `json:"total_public_symbols"`
DocumentedSymbols int `json:"documented_symbols"`
UndocumentedSymbols int `json:"undocumented_symbols"`
CoveragePercentage float64 `json:"coverage_percentage"`
FunctionCoverage float64 `json:"function_coverage"`
TypeCoverage float64 `json:"type_coverage"`
VariableCoverage float64 `json:"variable_coverage"`
ConstantCoverage float64 `json:"constant_coverage"`
PackageDocumented bool `json:"package_documented"`
ExampleCount int `json:"example_count"`
ExamplesPerFunction float64 `json:"examples_per_function"`
}
CoverageStats contains documentation coverage statistics.
type ExampleInfo ¶
type ExampleInfo struct {
Name string `json:"name"`
ForFunction string `json:"for_function"`
Code string `json:"code"`
Output string `json:"output"`
HasOutput bool `json:"has_output"`
}
ExampleInfo contains information about example functions.
type FieldInfo ¶
type FieldInfo struct {
Name string `json:"name"`
Type string `json:"type"`
Doc string `json:"doc"`
HasDoc bool `json:"has_doc"`
IsExported bool `json:"is_exported"`
Tag string `json:"tag,omitempty"`
}
FieldInfo contains information about struct fields.
type FunctionInfo ¶
type FunctionInfo struct {
Name string `json:"name"`
Signature string `json:"signature"`
Doc string `json:"doc"`
HasDoc bool `json:"has_doc"`
IsExported bool `json:"is_exported"`
Line int `json:"line"`
Examples []string `json:"examples"`
Complexity int `json:"complexity"`
}
FunctionInfo contains information about a documented function.
type PackageInfo ¶
type PackageInfo struct {
ImportPath string `json:"importPath"`
Name string `json:"name"`
Dir string `json:"dir"`
GoFiles []string `json:"goFiles"`
PublicFunctions []FunctionInfo `json:"publicFunctions"`
PublicTypes []TypeInfo `json:"publicTypes"`
PublicVariables []VariableInfo `json:"publicVariables"`
PublicConstants []ConstantInfo `json:"publicConstants"`
CoverageStats CoverageStats `json:"coverageStats"`
QualityIssues []QualityIssue `json:"qualityIssues"`
ExampleFunctions []ExampleInfo `json:"example_functions"`
PackageDoc string `json:"package_doc"`
HasPackageDoc bool `json:"has_package_doc"`
Recommendations []string `json:"recommendations"`
}
PackageInfo contains documentation analysis information for a package.
type QualityIssue ¶
type QualityIssue struct {
Type string `json:"type"`
Severity string `json:"severity"`
Message string `json:"message"`
Symbol string `json:"symbol"`
File string `json:"file"`
Line int `json:"line"`
Suggestion string `json:"suggestion"`
}
QualityIssue represents a documentation quality issue.
type TypeInfo ¶
type TypeInfo struct {
Name string `json:"name"`
Kind string `json:"kind"`
Doc string `json:"doc"`
HasDoc bool `json:"has_doc"`
IsExported bool `json:"is_exported"`
Line int `json:"line"`
Methods []FunctionInfo `json:"methods"`
Fields []FieldInfo `json:"fields,omitempty"`
}
TypeInfo contains information about a documented type.