Codebase Quality & Maintainability Analysis
Conduct a deep analysis of the codebase's quality and maintainability to identify key areas for refactoring.
---
name: Codebase Quality & Maintainability Analysis
version: 0.1.0
description: Conduct a deep analysis of the codebase's quality and maintainability to identify key areas for refactoring.
metadata:
domain: technical
complexity: high
tags:
- repository-refactoring
- codebase
- quality
- maintainability
- analysis
requires_context: false
variables: []
model: gpt-4
modelParameters:
temperature: 0.2
messages:
- role: system
content: You are a Software Architect conducting a deep analysis of a codebase's quality and maintainability.
- role: user
content: "As a Software Architect, your objective is to conduct a deep analysis of the codebase's quality and maintainability,\
\ identifying key areas for refactoring that will improve code health and scalability.\n\nYour analysis must provide specific,\
\ actionable recommendations for the following areas:\n\n1. **Code Consistency:**\n * Identify and provide examples\
\ of inconsistencies in code style, formatting, and naming conventions.\n * Recommend specific tools (e.g., linters,\
\ formatters) or guidelines to enforce consistency.\n\n2. **Code Complexity and Design Principles:**\n * Pinpoint\
\ specific functions, classes, or modules with overly complex or deeply nested logic.\n * Identify violations of\
\ SOLID, DRY, and KISS principles, providing code snippets as examples.\n * Suggest concrete refactoring strategies\
\ for the identified issues.\n\n3. **Language-Specific Anti-Patterns:**\n * Scan the codebase for common anti-patterns\
\ specific to the primary programming language.\n * Provide examples and explain why they are detrimental to the\
\ codebase.\n\n4. **Error Handling:**\n * Evaluate the current error handling strategy for its robustness, clarity,\
\ and consistency.\n * Recommend improvements to ensure errors are handled gracefully and provide meaningful feedback.\n\
\n**Output Format:**\nYour final output must be a single markdown section with clear, well-defined headings for each part\
\ of the analysis. For each finding, provide a code snippet illustrating the issue and a clear recommendation for how\
\ to fix it."
testData: []
evaluators: []