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 on