PRINCIPIO DRY
by Rodwyn Moreno
JavaScript
const reportData = {
name: 'Software Crafters',
createdAt: new Date(),
purchases: 100,
conversionRate: 10
};
function withoutDRY() {
function showReport(reportData) {
const reportFormatted = `
Name: ${reportData.name}
Created at: ${reportData.createdAt}
Purchases: ${reportData.purchases}
Conversion Rate: ${reportData.conversionRate}%
`;
console.log("Showing report", reportFormatted);
}
function saveReport(reportData) {
const reportFormatted = `
Name: ${reportData.name}
Created at: ${reportData.createdAt}
Purchases: ${reportData.purchases}
Conversion Rate: ${reportData.conversionRate}%
`;
console.log("Saving report...", reportFormatted);
}
showReport(reportData);
saveReport(reportData);
}
function withDRY() {
function formatReport(reportData) {
return `
Name: ${reportData.name}
Created at: ${reportData.createdAt}
Purchases: ${reportData.purchases}
Conversion Rate: ${reportData.conversionRate}%
`;
}
function showReport(reportData) {
console.log("Showing report...", formatReport(reportData));
}
function saveReport(reportData) {
console.log("Saving report...", formatReport(reportData));
}
showReport(reportData);
saveReport(reportData);
}
withoutDRY();
withDRY();