Performance: Namespaces for separation
MEDIUM IMPACT
This affects server response time and routing efficiency by organizing routes into separate groups.
const express = require('express'); const app = express(); const userRouter = express.Router(); userRouter.get('/profile', (req, res) => { res.send('User Profile'); }); userRouter.get('/settings', (req, res) => { res.send('User Settings'); }); const adminRouter = express.Router(); adminRouter.get('/dashboard', (req, res) => { res.send('Admin Dashboard'); }); adminRouter.get('/users', (req, res) => { res.send('Admin Users'); }); app.use('/user', userRouter); app.use('/admin', adminRouter); app.listen(3000);
const express = require('express'); const app = express(); app.get('/user/profile', (req, res) => { res.send('User Profile'); }); app.get('/user/settings', (req, res) => { res.send('User Settings'); }); app.get('/admin/dashboard', (req, res) => { res.send('Admin Dashboard'); }); app.get('/admin/users', (req, res) => { res.send('Admin Users'); }); app.listen(3000);
| Pattern | Routing Checks | Middleware Calls | Response Time Impact | Verdict |
|---|---|---|---|---|
| Flat routes at root | All routes checked sequentially | All middleware run for each route | Higher as routes increase | [X] Bad |
| Namespaces with express.Router | Only routes in namespace checked | Middleware scoped to namespace | Lower and scalable | [OK] Good |