# Llorenç Muntaner - Signs of Overengineering (Highlights) ![rw-book-cover|256](https://readwise-assets.s3.amazonaws.com/static/images/article4.6bc1851654a0.png) ## Metadata **Review**:: [readwise.io](https://readwise.io/bookreview/33084509) **Source**:: #from/readwise #from/reader **Zettel**:: #zettel/fleeting **Status**:: #x **Authors**:: [[Llorenç Muntaner]] **Full Title**:: Signs of Overengineering **Category**:: #articles #readwise/articles **Category Icon**:: 📰 **Highlighted**:: [[2023-10-11]] **Created**:: [[2023-10-14]] ## Highlights - There are two primary sources of overengineering: • Solving problems we don’t have. • Wrong abstractions. ([View Highlight](https://read.readwise.io/read/01hcgj0nd4btetqa7a0axc37s5)) ^609060087 - In this book, a principle called “The Deep Abstraction Principle” suggests that abstractions must be more complex than the interface. ([View Highlight](https://read.readwise.io/read/01hcgj7425yqxsey6aw8z5wgyz)) ^609060759 - Building an abstraction and then having a hard time naming it. This is a sign that the abstraction is incorrect. ([View Highlight](https://read.readwise.io/read/01hcgja16whnd837k8yb5c6sk4)) ^609060990 - Last but not least, if the code of an abstraction is not obvious, then something is off with it. Abstractions should have one responsibility; if we can’t explain them, we should review and rewrite them. ([View Highlight](https://read.readwise.io/read/01hcgjagmjttc3pp0n3a8ej8zg)) ^609061000