Skip to content

Commit 142660a

Browse files
committed
Add section "Optimize for Deletion"
1 parent 51e9694 commit 142660a

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)