# You Aren't Gonna Need It
Is a computer science principle that states that you should resist building features ahead of time and adding complexities you think you'll need down the road for several reasons:
- You'll waste time you need for more pressing stuff
- As time passes you'll gather more info about the feature, making the future you a more capable programmer for building that feature
- The feature might prove unnecessary down the road.
This basically boils down to analyzing the [[Economic Cost]] of extra functionality you don't need at the moment. It's also closely related to the [[KISS]] principle.