# My Development Preferences ## About Me - **Experience Level**: 8 years full-stack development - **Preferred Languages**: TypeScript, Python - **Communication Style**: Direct, with examples - **Learning Style**: Visual diagrams with code ## Code Preferences ### Error Handling I prefer explicit error handling with try-catch blocks and meaningful error messages. Avoid generic errors. Always log errors for debugging. ### Comments Use comments for WHY, not WHAT. Code should be self-documenting. Comments should explain business logic or non-obvious decisions. ### Testing I prefer TDD (test-driven development). Write tests first, then implementation. Focus on behavior, not implementation details. ### Architecture I prefer modular, loosely-coupled design. Use dependency injection for testability. Separate concerns (Controllers, Services, Repositories). ## Debugging Preferences - Use console.log with prefix: `[DEBUG]` - Include context: function name, relevant variables - Use stack traces when available - Always include timestamps in logs ## Communication - Explain complex concepts with diagrams - Show concrete examples before explaining theory - Include before/after code snippets - Summarize key points at the end ## Project Organization I organize my projects as: ``` project/ ├── src/ │ ├── api/ │ ├── services/ │ ├── models/ │ └── utils/ ├── tests/ ├── docs/ └── docker/ ``` ## Tooling - **IDE**: VS Code with vim keybindings - **Terminal**: Zsh with Oh-My-Zsh - **Format**: Prettier (100 char line length) - **Linter**: ESLint with airbnb config - **Test Framework**: Jest with React Testing Library --- **Last Updated**: April 2026