[{"data":1,"prerenderedAt":217},["ShallowReactive",2],{"term-d\u002Fdry":3,"related-d\u002Fdry":201},{"id":4,"title":5,"acronym":6,"body":7,"category":182,"description":183,"difficulty":184,"extension":185,"letter":186,"meta":187,"navigation":96,"path":188,"related":189,"seo":194,"sitemap":195,"stem":198,"subcategory":199,"__hash__":200},"terms\u002Fterms\u002Fd\u002Fdry.md","DRY","Don't Repeat Yourself",{"type":8,"value":9,"toc":176},"minimark",[10,15,19,23,26,30,165,169,172],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"If you find yourself copy-pasting the same code in multiple places, STOP. Make it a reusable function instead. That way, when you need to change it, you only change it once. The opposite of DRY is WET (Write Everything Twice).",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"DRY (Don't Repeat Yourself) is a software development principle that states every piece of knowledge should have a single, authoritative representation. Violations lead to maintenance burden and inconsistency when changes are needed.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F WET (bad):\nconst tax1 = price1 * 0.25\nconst tax2 = price2 * 0.25\n\n\u002F\u002F DRY (good):\nconst calcTax = (price) => price * TAX_RATE\nconst tax1 = calcTax(price1)\nconst tax2 = calcTax(price2)\n","javascript","",[38,39,40,49,74,91,98,104,135,151],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sHwdD","\u002F\u002F WET (bad):\n",[41,50,52,56,60,64,67,70],{"class":43,"line":51},2,[41,53,55],{"class":54},"spNyl","const",[41,57,59],{"class":58},"sTEyZ"," tax1 ",[41,61,63],{"class":62},"sMK4o","=",[41,65,66],{"class":58}," price1 ",[41,68,69],{"class":62},"*",[41,71,73],{"class":72},"sbssI"," 0.25\n",[41,75,77,79,82,84,87,89],{"class":43,"line":76},3,[41,78,55],{"class":54},[41,80,81],{"class":58}," tax2 ",[41,83,63],{"class":62},[41,85,86],{"class":58}," price2 ",[41,88,69],{"class":62},[41,90,73],{"class":72},[41,92,94],{"class":43,"line":93},4,[41,95,97],{"emptyLinePlaceholder":96},true,"\n",[41,99,101],{"class":43,"line":100},5,[41,102,103],{"class":47},"\u002F\u002F DRY (good):\n",[41,105,107,109,112,114,117,121,124,127,130,132],{"class":43,"line":106},6,[41,108,55],{"class":54},[41,110,111],{"class":58}," calcTax ",[41,113,63],{"class":62},[41,115,116],{"class":62}," (",[41,118,120],{"class":119},"sHdIc","price",[41,122,123],{"class":62},")",[41,125,126],{"class":54}," =>",[41,128,129],{"class":58}," price ",[41,131,69],{"class":62},[41,133,134],{"class":58}," TAX_RATE\n",[41,136,138,140,142,144,148],{"class":43,"line":137},7,[41,139,55],{"class":54},[41,141,59],{"class":58},[41,143,63],{"class":62},[41,145,147],{"class":146},"s2Zo4"," calcTax",[41,149,150],{"class":58},"(price1)\n",[41,152,154,156,158,160,162],{"class":43,"line":153},8,[41,155,55],{"class":54},[41,157,81],{"class":58},[41,159,63],{"class":62},[41,161,147],{"class":146},[41,163,164],{"class":58},"(price2)\n",[11,166,168],{"id":167},"when-youll-hear-this","When You'll Hear This",[16,170,171],{},"\"This is not DRY — the same logic is in three places.\" \u002F \"DRY it up with a shared utility function.\"",[173,174,175],"style",{},"html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":177},[178,179,180,181],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":167,"depth":51,"text":168},"architecture","If you find yourself copy-pasting the same code in multiple places, STOP. Make it a reusable function instead.","beginner","md","d",{},"\u002Fterms\u002Fd\u002Fdry",[190,191,192,193],"KISS","YAGNI","Refactoring","Function",{"title":5,"description":183},{"changefreq":196,"priority":197},"weekly",0.7,"terms\u002Fd\u002Fdry",null,"5KTiPAer25_w542xCGbSdxezM_0GwJaLkgLfIy0uI4s",[202,206,210,213],{"title":193,"path":203,"acronym":199,"category":204,"difficulty":184,"description":205},"\u002Fterms\u002Ff\u002Ffunction","general","A function is a reusable recipe. You write the steps once, give it a name, and call it whenever you need those steps done.",{"title":190,"path":207,"acronym":208,"category":182,"difficulty":184,"description":209},"\u002Fterms\u002Fk\u002Fkiss","Keep It Simple, Stupid","Don't overcomplicate things! The simplest solution that works is usually the best one.",{"title":192,"path":211,"acronym":199,"category":182,"difficulty":184,"description":212},"\u002Fterms\u002Fr\u002Frefactoring","Refactoring is improving the internal structure of code WITHOUT changing what it does from the outside.",{"title":191,"path":214,"acronym":215,"category":182,"difficulty":184,"description":216},"\u002Fterms\u002Fy\u002Fyagni","You Aren't Gonna Need It","Don't build stuff you don't need right now.",1776518271879]