PromptBase
Close icon
General
Home
Marketplace
Hire
Create
Login
Sell
Explore
🤖 GPT

Developer Code Review Checklist Generate

Developer Code Review Checklist Generate gpt prompt mini thumbnail
10Eye icon
Views
TestedTick icon
TipsTick icon
4 examplesTick icon
Developer Code Review Checklist for Quality Assurance
...more
$3.99
Get prompt
After purchasing, you will gain access to the prompt file which you can use with GPT or the app builder. You'll receive 20 free generation credits with this purchase. By purchasing this prompt, you agree to our terms of service.
Over 1 month ago

Prompt Details

Model
Chat - GPT-4o (gpt-4o)
Token size
147 ($0.00735 / call)
Example input
[ project type ]: Web application [ tech stack ]: React, Node.js, PostgreSQL
Example output
Here's a comprehensive **Code Review Checklist** for developers working on a **Web Application** using **React, Node.js, and PostgreSQL** to ensure code quality, maintainability, and performance: --- ### **1. General Code Structure and Readability** - **Consistent code formatting**: - Ensure the code follows consistent formatting (e.g., indentation, line spacing). - Properly organize files and folders (e.g., separate components, routes, models). - **Use of meaningful variable and function names**: - Variables, functions, and classes should have clear, descriptive names that reflect their purpose. - **Code simplicity**: - Avoid complex logic; break down large functions into smaller, reusable ones. - Remove any commented-out code or unused code sections. --- ### **2. Adherence to Coding Standards and Best Practices** - **React**: - Proper use of **functional components** and **hooks** over class components when appropriate. - Ensure **separation of concerns**: components should focus on one task only. - **No direct DOM manipulation**; rely on React state and lifecycle methods/hooks. - Validate **prop types** (using `PropTypes` or TypeScript interfaces). - Use **React.memo** or **useMemo** for expensive operations or frequently re-rendered components. - **Node.js**: - Ensure **modularization**: functions should be broken down into small, reusable modules. - Follow a **clean architecture** (e.g., MVC, repository pattern) and separate logic for routes, controllers, and services. - Utilize **asynchronous programming** properly (e.g., `async/await`, `Promise.all`). - Limit synchronous blocking code that could affect performance. - **PostgreSQL**: - Ensure **proper indexing** on frequently queried fields. - Use parameterized queries or ORM (e.g., Sequelize, TypeORM) to avoid **SQL injection**. - Optimize query logic to prevent N+1 query problems. - Review the use of **joins** and **transactions** to avoid potential bottlenecks. - Use **migration tools** (like Sequelize or Knex) for schema changes to ensure database consistency. --- ### **3. Unit Test Coverage and Test Results** - **Test coverage**: - Ensure key functionality is covered by unit tests (target 80%+ coverage). - Verify tests exist for critical business logic, edge cases, and components. - **Test quality**: - Are the tests testing the correct scenarios (positive/negative cases)? - Ensure there are tests for: - React components (using libraries like Jest, React Testing Library). - Node.js services/controllers (using Mocha, Chai, or Jest). - PostgreSQL queries or integration tests for database logic. - **Tests are passing**: - All tests should pass without errors before the PR is merged. --- ### **4. Performance Optimization** - **React performance**: - Minimize unnecessary **re-renders** (use `shouldComponentUpdate`, `React.memo`, or `useCallback`). - Avoid **inline functions** inside render (use `useCallback` or `useMemo` to cache functions). - Review the **bundle size**: Ensure that no large third-party libraries are included unnecessarily (use **lazy loading** for components and **code splitting**). - **Node.js performance**: - Avoid **blocking code**: Ensure non-blocking I/O and use `async/await` correctly. - Use **caching** strategies where necessary (e.g., Redis, in-memory cache). - Check for **memory leaks** and monitor for memory usage. - Minimize the use of global variables that may remain in memory. - Ensure **efficient database queries**: Use batch processing if possible and avoid unnecessary database hits. - **PostgreSQL performance**: - Optimize **SQL queries** (limit the number of queries and joins). - Index columns used in filters, joins, and sorts. - Ensure **connection pooling** is being used properly. --- ### **5. Proper Error Handling and Edge Case Consideration** - **React**: - Ensure **error boundaries** are used to catch rendering errors. - Handle edge cases in user inputs and actions. - **Node.js**: - Ensure errors are handled gracefully in asynchronous code (`try/catch`, `.catch` for promises). - Provide meaningful error messages and handle errors at different layers (e.g., database, service). - Validate all inputs using libraries like `Joi` or `express-validator` and reject invalid input with proper status codes (e.g., `400 Bad Request`). - **PostgreSQL**: - Handle **database constraints** and **transaction errors**. - Ensure that application code is ready for **connection failures** or **query timeouts**. --- ### **6. Security Checks** - **SQL Injection prevention**: Use parameterized queries or ORM methods. - **Cross-Site Scripting (XSS)**: - Sanitize and escape user inputs. - Use libraries like `DOMPurify` for React to prevent XSS in dynamic content. - **Cross-Site Request Forgery (CSRF)**: Ensure CSRF tokens are used for form submissions. - **Authentication & Authorization**: - Ensure authentication mechanisms (e.g., JWT, OAuth) are properly implemented. - Use role-based access control (RBAC) and verify permission checks at critical routes and endpoints. - **Password security**: - Ensure passwords are hashed securely (e.g., using bcrypt). - Never store sensitive data (passwords, keys) in plaintext. - **Secure HTTP headers**: Ensure proper HTTP security headers are being sent (e.g., `Strict-Transport-Security`, `Content-Security-Policy`). - **Environment variables**: Verify that sensitive data like API keys are stored in environment variables and not in the codebase. --- ### **7. Documentation Requirements** - **Function and class descriptions**: - Ensure functions and classes have descriptive comments explaining their purpose. - Add **JSDoc** or other documentation comments where necessary. - **Component documentation**: - Document key React components and their expected props. - **Database schema documentation**: - Ensure database schema changes and migrations are documented clearly (via migration files). - **API documentation**: - If the project includes an API, ensure that routes, query parameters, and response formats are well documented (Swagger, Postman collections). --- ### **8. Version Control and Commit Message Guidelines** - **Clear and meaningful commit messages**: - Use meaningful, concise commit messages that describe the change (e.g., `fix: resolve issue with user authentication`). - **Atomic commits**: - Keep commits small and focused on a single task or bug fix. - **Branch strategy**: - Ensure proper use of git branching models (e.g., `feature/*`, `bugfix/*`, `hotfix/*`). - **No large unreviewed changes**: - Ensure PRs are small enough to review thoroughly (typically 200-400 lines of code). --- ### **9. Code Duplication and Dead Code** - **No duplicate code**: - Review for any repeated code that can be refactored into a reusable function or component. - **Eliminate dead code**: - Remove unused variables, imports, and functions. - Ensure feature flags or obsolete code paths are removed if no longer needed. --- This checklist will help maintain a high standard of code quality and ensure that the web application is performant, secure, and maintainable over time.
Browse Marketplace