Performance: Service layer pattern
MEDIUM IMPACT
This pattern affects server response time and maintainability, indirectly impacting client perceived speed and scalability.
const userService = {
getActiveUsers: async () => {
const users = await User.find({});
return users.filter(u => u.active);
}
};
app.get('/users', async (req, res) => {
try {
const activeUsers = await userService.getActiveUsers();
res.json(activeUsers);
} catch (err) {
res.status(500).send(err);
}
});app.get('/users', (req, res) => { User.find({}, (err, users) => { if (err) return res.status(500).send(err); // complex logic directly in route const filtered = users.filter(u => u.active); res.json(filtered); }); });
| Pattern | Server CPU Usage | Code Duplication | Response Consistency | Verdict |
|---|---|---|---|---|
| Logic in routes | High due to duplication | High | Inconsistent | [X] Bad |
| Service layer pattern | Lower with reuse | Low | Consistent | [OK] Good |