YAGNI & KISS Principles

YAGNI

YAGNI stands for You Ain’t Gonna Need It. It’s a principle from software development methodology of Extreme Programming (XP). This principle says that you should not create features that it’s not really necessary.

Ron Jeffries, one of…


This content originally appeared on DEV Community and was authored by Hassan El-seoudy

YAGNI

YAGNI stands for You Ain’t Gonna Need It. It’s a principle from software development methodology of Extreme Programming (XP). This principle says that you should not create features that it’s not really necessary.

Ron Jeffries, one of the co-founders of the XP, once said:

Always implement things when you actually need them, never when you just foresee that you need them.

It means that you should not implement functionality just because you think that you may need it someday, but implement it just when you really need it.

Benefits of YAGNI principle

1- Avoid spending time with implementations that were not even necessary, and maybe will never be used.

2- With more unnecessary code you write, you may discard write unit tests for them! and then you will start having more issues regarding code quality tools.

Alt Text

KISS Principle

Alt Text

KISS is an acronym for Keep It Simple, Stupid. This principle says about to make your code simple. You should avoid unnecessary complexity. A simple code it’s easier to maintain and easier to understand.

How to apply KISS principle in code?

You should eliminate duplicated code, remove unnecessary features, also don’t use unnecessary variables and methods, follow know standards of code development, also you should separate the responsibilities of your classes and the responsibilities from the layers of the project.

Conclusion

As you can see, The difference between them as you may expect from the header photo, it’s that YAGNI focus on removing unnecessary functionality and logic, and KISS focus on the complexity.

References

The Pragmatic Programmer — David Thomas and Andrew Hunt

Software Architect’s Handbook — Joseph Ingeno

Extreme Programming Installed — Ron Jeffries, Ann Anderson, Chet Hendrickson


This content originally appeared on DEV Community and was authored by Hassan El-seoudy


Print Share Comment Cite Upload Translate Updates
APA

Hassan El-seoudy | Sciencx (2021-05-03T13:27:21+00:00) YAGNI & KISS Principles. Retrieved from https://www.scien.cx/2021/05/03/yagni-kiss-principles/

MLA
" » YAGNI & KISS Principles." Hassan El-seoudy | Sciencx - Monday May 3, 2021, https://www.scien.cx/2021/05/03/yagni-kiss-principles/
HARVARD
Hassan El-seoudy | Sciencx Monday May 3, 2021 » YAGNI & KISS Principles., viewed ,<https://www.scien.cx/2021/05/03/yagni-kiss-principles/>
VANCOUVER
Hassan El-seoudy | Sciencx - » YAGNI & KISS Principles. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/05/03/yagni-kiss-principles/
CHICAGO
" » YAGNI & KISS Principles." Hassan El-seoudy | Sciencx - Accessed . https://www.scien.cx/2021/05/03/yagni-kiss-principles/
IEEE
" » YAGNI & KISS Principles." Hassan El-seoudy | Sciencx [Online]. Available: https://www.scien.cx/2021/05/03/yagni-kiss-principles/. [Accessed: ]
rf:citation
» YAGNI & KISS Principles | Hassan El-seoudy | Sciencx | https://www.scien.cx/2021/05/03/yagni-kiss-principles/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.