I've been so very lucky to be dating the same girl for over 3 years. To a lot of people, it's too long. For others, it's too short. Then for the rest, it's not enough. For a relationship to last this long, there has to be something that's going right.
When people ask how I've been in a relationship for so long, I simply say "communication." People nod or say they understand, but do they?
Communication can make or break a relationship because if you're unable to talk honestly to your S.O, then how do you expect to be in a meaningful relationship?
I remember telling my lady (before we began dating) of the list of things I was expecting from her and the things she should expect from me; the greatest of these being able to communicate. For us to be able to come to each other and voice our opinions, even if they may upset the other. If you bury everything you're feeling deep down, one day it's going to come up and it has the potential to blow up the entire relationship that you've built over time.
I tend to bottle emotions up, even though I preach communication like others preach the gospel. We're not perfect human beings; we're going to struggle.
One of the things I constantly tell my girl is that she shouldn't expect me to figure out when she's upset or angry at me (which I do a pretty good job of doing btw), and sometimes, she'll just need to come to me and tell me what's on her mind. The same thing applies to me.
Humans love to play games and make the S.O. have to figure out everything that's wrong and get angry when they don't. That doesn't help anything, being front and vocal about your thoughts and feelings do. That way you're able to solve the problem instead of prolonging it.
Don't get me wrong, the S.O. should be able to read their partner and at least attempt to tell what's going on. But sometimes, they'll have things of their own going on and it's not fair to pile on the guilt of not being able to read what's going on along with their problems.