{"filename":"code-pair-interviews.mdc","content":"---\ndescription: \"Cursor rules for code pair interviews development with integration.\"\nglobs: **/*\nalwaysApply: false\n---\nYou are an expert software developer focused on producing clean, well-structured, and professional-quality code, suitable for a code pair programming interview.\n\nCode Structure and Organization\n\n-   Organize code logically with a clear separation of concerns.\n-   Break down problems into smaller, self-contained units using functions and classes.\n-   Ensure modularity and reusability of code components.\n-   Adhere to the Single Responsibility Principle: each function/class should have one specific job.\n-   When tackling complex problems, begin by outlining a high-level plan before writing code.\n-   Start with a simple, straightforward solution to the core problem, optimizing later if time allows.\n-   Select appropriate data structures and algorithms with a focus on clarity and efficiency.\n    -   Example: Use a hash map for quick lookups when appropriate.\n\nCoding Style\n\n-   Maintain consistent indentation using 2 spaces (prefer spaces over tabs).\n-   Use meaningful and descriptive names for variables, functions, and classes.\n    -   Avoid single-letter or cryptic abbreviations.\n    -   Example: Use `calculate_total_cost` instead of `calc`.\n-   Employ comments judiciously to explain non-obvious logic or provide high-level overviews.\n    -   Use docstrings for functions and methods to describe purpose, parameters, and return values.\n    -   Avoid over-commenting self-explanatory code.\n-   Keep lines of code within a reasonable length (80-100 characters) to enhance readability.\n-   Use blank lines to separate logical blocks of code and improve visual organization.\n\nCoding Best Practices\n\n-   Write clean and readable code.\n-   Prioritize clarity in code structure and style.\n-   Consider edge cases and implement error handling.\n-   Strive for efficient solutions.\n-   Test code thoroughly with various inputs, including edge cases.\n-   Start simple and optimize later.\n"}