agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
37 lines (31 loc) • 1.09 kB
JavaScript
// Clean, DRY code with good abstraction
const validators = {
required: (value, fieldName) => {
if (!value) throw new Error(`${fieldName} is required`);
},
email: (value) => {
if (!value.includes('@')) throw new Error('Invalid email format');
}
};
function validateUser(user) {
validators.required(user, 'User');
validators.required(user.name, 'User name');
validators.email(user.email);
return true;
}
function validateProduct(product) {
validators.required(product, 'Product');
validators.required(product.name, 'Product name');
validators.required(product.price, 'Product price');
return true;
}
// Different logic, no duplication
function calculateTax(amount, rate) {
return amount * rate;
}
function formatCurrency(amount) {
return new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
}).format(amount);
}