diff options
author | Dave Kerr <dwmkerr@gmail.com> | 2019-06-11 21:56:00 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-11 21:56:00 +0800 |
commit | 0ec2ef744f66bb5c53821974bfb176e78d744dd1 (patch) | |
tree | 33ff9447af5944a7754a6b78779bfe7021999069 | |
parent | 1ba91212b41bb3f18a86177e807b9a7b835ed776 (diff) | |
parent | e971cdee3f67e259c048ffb76c3a5be5451b8726 (diff) |
Merge pull request #124 from dwmkerr/docs/yagni-formatting
docs: yagni formatting
-rw-r--r-- | README.md | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -451,22 +451,28 @@ See also: ### YAGNI -This is an acronym for _**Y**ou **A**ren't **G**onna **N**eed **I**t_ +[YAGNI on Wikipedia](https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it) -> "Always implement things when you actually need them, never when you just foresee that you need them." - _[Ron Jeffries](https://twitter.com/RonJeffries) (XP co-founder and author of the book "Extreme Programming Installed")_ +This is an acronym for _**Y**ou **A**ren't **G**onna **N**eed **I**t_. -This Extreme Programming (XP) principle tells developers that they should only implement functionality that is required for the immediate present and avoid attempts to predict the future by implementing functionality that won't be used immediately, rather implement it only when deemed necessary. +> Always implement things when you actually need them, never when you just foresee that you need them. +> +> ([Ron Jeffries](https://twitter.com/RonJeffries)) (XP co-founder and author of the book "Extreme Programming Installed") + +This _Extreme Programming_ (XP) principle suggests developers should only implement functionality that is needed for the immediate requirements, and avoid attempts to predict the future by implementing functionality that might be needed later. + +Adhering to this principle should reduce the amount of unused code in the codebase, and avoid time and effort being wasted on functionality that brings no value. + +See also: -Some of the issues a developer can be faced with in a project that does not respect this principle are: -* Unnecessary increase of the overall codebase size with unused code; -* Time and productivity wasted on functionality that brings no value +- [Reading List: Extreme Programming Installed](#reading-list) -_[Check YAGNI article on Wikipedia](https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it)_ ## Reading List If you have found these concepts interesting, you may enjoy the following books. +- [Extreme Programming Installed - Ron Jeffries, Ann Anderson, Chet Hendrikson](https://www.goodreads.com/en/book/show/67834) - Covers the core principles of Extreme Programming. - [The Mythical Man Month - Frederick P. Brooks Jr.](https://www.goodreads.com/book/show/13629.The_Mythical_Man_Month) - A classic volume on software engineering. [Brooks' Law](#brooks-law) is a central theme of the book. - [Gödel, Escher, Bach: An Eternal Golden Braid - Douglas R. Hofstadter.](https://www.goodreads.com/book/show/24113.G_del_Escher_Bach) - This book is difficult to classify. [Hofstadter's Law](#hofstadters-law) is from the book. |