Documentation
¶
Index ¶
- func RefactorFile(filepath string) error
- func SaveReport(report *Report, filepath string) error
- type ActionItem
- type AnalysisResults
- type Analyzer
- type ComplexFunction
- type ComplexityGate
- type ConcisenessAnalyzer
- type ConcisenessIssue
- type CoverageGate
- type DocumentationGate
- type DuplicationGate
- type DuplicationResult
- type FileMetrics
- type FunctionMetrics
- type Gate
- type Issue
- type NamingGate
- type PerformanceResult
- type PersonaResult
- type QualityGates
- type QualityMetrics
- type Recommendation
- type Report
- type ReportGenerator
- type Summary
- type Thresholds
- type UATResults
- type UsabilityResult
- type Violation
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RefactorFile ¶
RefactorFile automatically refactors a file for conciseness
func SaveReport ¶
SaveReport saves the report to a file
Types ¶
type ActionItem ¶
type ActionItem struct {
ID string `json:"id"`
Description string `json:"description"`
Priority string `json:"priority"`
Completed bool `json:"completed"`
DueDate time.Time `json:"due_date,omitempty"`
Owner string `json:"owner,omitempty"`
}
ActionItem represents a task to improve quality
type AnalysisResults ¶
type AnalysisResults struct {
TotalFiles int
TotalLines int
TotalFunctions int
AvgComplexity float64
MaxComplexity int
ComplexFunctions []ComplexFunction
Issues []Issue
}
AnalysisResults contains project-wide analysis results
type Analyzer ¶
type Analyzer struct {
// contains filtered or unexported fields
}
Analyzer analyzes code quality metrics
func NewAnalyzer ¶
NewAnalyzer creates a new quality analyzer
func (*Analyzer) AnalyzeFile ¶
func (a *Analyzer) AnalyzeFile(path string) (*FileMetrics, error)
AnalyzeFile analyzes a single Go file
func (*Analyzer) AnalyzeProject ¶
func (a *Analyzer) AnalyzeProject() (*AnalysisResults, error)
AnalyzeProject analyzes the entire project
type ComplexFunction ¶
ComplexFunction represents a function with high complexity
type ComplexityGate ¶
type ComplexityGate struct {
// contains filtered or unexported fields
}
ComplexityGate checks code complexity
func (*ComplexityGate) Name ¶
func (g *ComplexityGate) Name() string
type ConcisenessAnalyzer ¶
type ConcisenessAnalyzer struct {
// contains filtered or unexported fields
}
ConcisenessAnalyzer analyzes code for conciseness improvements
func NewConcisenessAnalyzer ¶
func NewConcisenessAnalyzer() *ConcisenessAnalyzer
NewConcisenessAnalyzer creates a new analyzer
func (*ConcisenessAnalyzer) AnalyzeFile ¶
func (c *ConcisenessAnalyzer) AnalyzeFile(filepath string) ([]ConcisenessIssue, error)
AnalyzeFile analyzes a file for conciseness
type ConcisenessIssue ¶
type ConcisenessIssue struct {
Type string
File string
Line int
Message string
Original string
Improved string
Suggestion string
}
ConcisenessIssue represents a conciseness improvement opportunity
type CoverageGate ¶
type CoverageGate struct {
// contains filtered or unexported fields
}
CoverageGate checks test coverage
func (*CoverageGate) Name ¶
func (g *CoverageGate) Name() string
type DocumentationGate ¶
type DocumentationGate struct {
// contains filtered or unexported fields
}
DocumentationGate checks documentation coverage
func (*DocumentationGate) Check ¶
func (g *DocumentationGate) Check(projectPath string) (bool, []string)
func (*DocumentationGate) Name ¶
func (g *DocumentationGate) Name() string
type DuplicationGate ¶
type DuplicationGate struct {
// contains filtered or unexported fields
}
DuplicationGate checks for code duplication
func (*DuplicationGate) Check ¶
func (g *DuplicationGate) Check(projectPath string) (bool, []string)
func (*DuplicationGate) Name ¶
func (g *DuplicationGate) Name() string
type DuplicationResult ¶
DuplicationResult represents code duplication
type FileMetrics ¶
type FileMetrics struct {
Path string
Lines int
Functions []FunctionMetrics
CyclomaticComplexity int
CognitiveComplexity int
Imports int
Comments int
TestCoverage float64
Violations []Violation
}
FileMetrics contains metrics for a single file
type FunctionMetrics ¶
type FunctionMetrics struct {
Name string
LineNumber int
Lines int
Arguments int
CyclomaticComplexity int
CognitiveComplexity int
NestingDepth int
Returns int
}
FunctionMetrics contains metrics for a function
type NamingGate ¶
type NamingGate struct{}
NamingGate checks naming conventions
func (*NamingGate) Name ¶
func (g *NamingGate) Name() string
type PerformanceResult ¶
type PerformanceResult struct {
P95ResponseTime float64 `json:"p95_response_time_seconds"`
MemoryUsageMB float64 `json:"memory_usage_mb"`
ConcurrentUsers int `json:"concurrent_users"`
ThroughputPerSec float64 `json:"throughput_per_sec"`
}
PerformanceResult contains performance metrics
type PersonaResult ¶
type PersonaResult struct {
Name string `json:"name"`
Passed int `json:"passed"`
Total int `json:"total"`
PassRate float64 `json:"pass_rate"`
}
PersonaResult contains test results for a persona
type QualityGates ¶
type QualityGates struct {
// contains filtered or unexported fields
}
QualityGates enforces code quality standards
func NewQualityGates ¶
func NewQualityGates(strict bool) *QualityGates
NewQualityGates creates quality gates
type QualityMetrics ¶
type QualityMetrics struct {
AvgComplexity float64 `json:"avg_complexity"`
MaxComplexity int `json:"max_complexity"`
ComplexFiles int `json:"complex_files"`
MaintainabilityIndex float64 `json:"maintainability_index"`
DuplicationPercent float64 `json:"duplication_percentage"`
DocCoverage float64 `json:"doc_coverage"`
TotalLines int `json:"total_lines"`
TotalFunctions int `json:"total_functions"`
}
QualityMetrics contains code quality measurements
type Recommendation ¶
type Recommendation struct {
Title string `json:"title"`
Priority string `json:"priority"`
Effort string `json:"effort"`
Description string `json:"description"`
Impact string `json:"impact"`
CodeExample string `json:"code_example,omitempty"`
}
Recommendation provides improvement suggestions
type Report ¶
type Report struct {
Timestamp time.Time `json:"timestamp"`
Summary Summary `json:"summary"`
QualityMetrics QualityMetrics `json:"quality_metrics"`
UATResults UATResults `json:"uat_results"`
Recommendations []Recommendation `json:"recommendations"`
ActionItems []ActionItem `json:"action_items"`
}
Report represents a comprehensive quality report
func LoadReport ¶
LoadReport loads a report from a file
type ReportGenerator ¶
type ReportGenerator struct {
// contains filtered or unexported fields
}
ReportGenerator generates quality reports
func NewReportGenerator ¶
func NewReportGenerator(projectPath string) *ReportGenerator
NewReportGenerator creates a report generator
func (*ReportGenerator) Generate ¶
func (g *ReportGenerator) Generate() (*Report, error)
Generate creates a comprehensive quality report
type Summary ¶
type Summary struct {
QualityScore float64 `json:"quality_score"`
UATPassRate float64 `json:"uat_pass_rate"`
CodeCoverage float64 `json:"code_coverage"`
TechnicalDebt int `json:"technical_debt_hours"`
RiskLevel string `json:"risk_level"`
TotalViolations int `json:"total_violations"`
}
Summary provides executive summary
type Thresholds ¶
type Thresholds struct {
CyclomaticComplexity int
CognitiveComplexity int
MaxFileLines int
MaxFunctionLines int
MaxFunctionArguments int
MaxNestingDepth int
MinTestCoverage float64
MaxDuplication float64
}
Thresholds defines quality thresholds
func DefaultThresholds ¶
func DefaultThresholds() Thresholds
DefaultThresholds returns recommended thresholds
type UATResults ¶
type UATResults struct {
Personas map[string]PersonaResult `json:"personas"`
Performance PerformanceResult `json:"performance"`
Usability UsabilityResult `json:"usability"`
}
UATResults contains user acceptance test results
type UsabilityResult ¶
type UsabilityResult struct {
ErrorClarity float64 `json:"error_clarity_score"`
CLIConsistency float64 `json:"cli_consistency_score"`
DocumentationScore float64 `json:"documentation_score"`
}
UsabilityResult contains usability metrics