@@ -24,6 +24,7 @@ have any feedback or suggestions for improvement!
2424- [ Separation of Concerns] ( #separation-of-concerns )
2525- [ Code For The Maintainer] ( #code-for-the-maintainer )
2626- [ Avoid Premature Optimization] ( #avoid-premature-optimization )
27+ - [ Optimize for Deletion] ( #optimize-for-deletion )
2728- [ Keep things DRY] ( #keep-things-dry )
2829- [ Boy Scout Rule] ( #boy-scout-rule )
2930
@@ -192,6 +193,30 @@ Resources
192193- [ Program optimization (wikipedia.org)] ( https://en.wikipedia.org/wiki/Program_optimization )
193194- [ Premature Optimization (wiki.c2.com)] ( http://wiki.c2.com/?PrematureOptimization )
194195
196+ ## Optimize for Deletion
197+
198+ Why
199+
200+ Code should be optimized for change. Code that's easy to delete is easy to
201+ replace or change.
202+
203+ How
204+
205+ Don't try to predict future changes today, instead focus on deletable and
206+ rewriteable code.
207+
208+ Principles such as [ separation of concerns] ( #separation-of-concerns ) ,
209+ [ low coupling] ( #minimise-coupling ) and the
210+ [ Single Responsibility Principle] ( #single-responsibility-principle ) result in
211+ increased deletability. In general, high modularity helps to increase
212+ deletability of individual parts.
213+
214+ Resources
215+
216+ - [ The art of destroying software (youtube.com] ( https://www.youtube.com/watch?v=Ed94CfxgsCA )
217+ - [ Optimize for Deletion (work.stevegrossi.com)] ( https://work.stevegrossi.com/2016/11/04/optimize-for-deletion/ )
218+ - [ Deletability (kellysutton.com)] ( https://kellysutton.com/2017/05/29/deletability.html )
219+
195220## Keep things DRY
196221
197222** Don't Repeat Yourself** : Every piece of knowledge must have a single,
0 commit comments