--- description: Low Line of Code patterns and conventions for maintainable code structure and readability for src/**/* and other relevant directories alwaysApply: false --- # File Size Limit Rule ## Core Principles - **Readability**: Smaller files are easier to understand and navigate - **Maintainability**: Limited scope makes files easier to maintain - **Single Responsibility**: Encourages proper separation of concerns ## Implementation Patterns ### File Organization ```python # ✅ DO: Split large files into focused modules # auth_service.py - Authentication logic only class AuthService: # 50-100 lines of focused authentication code pass # user_service.py - User management logic only class UserService: # 50-100 lines of focused user management code pass ``` ### Anti-Patterns ```python # ❌ DON'T: Create monolithic files with multiple responsibilities # massive_service.py - 500+ lines mixing multiple concerns class MassiveService: # Authentication methods def authenticate_user(self): pass def validate_token(self): pass # User management methods def create_user(self): pass def update_user(self): pass # Email functionality def send_email(self): pass def format_email(self): pass # And many more unrelated methods... ``` ### File Line Limit Rule (Format) ```markdown - **Keep each code file under 300 lines of code (LOC)** to ensure readability, maintainability, and modularity. - **Exceed 300 LOC only in exceptional cases**—up to a hard maximum of 350 LOC—when there is a clear, well-documented justification (e.g., improved clarity, essential functionality, or a meaningful reduction in complexity elsewhere). - **Before exceeding 300 LOC**, always assess whether splitting or refactoring the file would lead to a more maintainable and organized codebase. ```