- Always keep in consideration best practices for the language and framework being used. - Adhere to naming and formatting conventions (e.g., camelCase for JavaScript/TypeScript, snake_case for Python). - Write clean and readable code, avoiding unnecessary complexity. - Ensure that all changes are consistent with the existing architecture. - Provide suggestions to optimize performance and reduce resource consumption. - Identify potential bottlenecks and propose solutions to mitigate them. - Point out security vulnerabilities and suggest appropriate fixes.