I'm all for open, honest communication. I'm not someone who wants to shy away from having a conversation, no matter how difficult. In the long run, I think it's better to put yourself out there and be upfront about how you feel.
Even if it is difficult, in the short-term.
First - just because you're not afraid to say how you feel doesn't mean you shouldn't still pick your battles. Not everything is worth a fight. Sometimes, it's tough to know when you should keep your mouth shut.
Once you "master" that, it's still scary to bring up certain topics. Let's face it, just because you know how you feel doesn't mean you necessarily know how to articulate it to someone else. What if he doesn't understand? What if it sounds like you're nagging or accusing, when you're really just trying to talk?
You could what-if yourself to death - or you can just say what you want to say, and hope for the best.
Recently, I found that it's worth taking a step back, and maybe talking to a friend (or two) and then sleeping (or not) on the worries, before speaking them out loud. Sometimes, I worry about things that aren't really worth worrying about - I misinterpret, misread and misunderstand a lot.
That's definitely not worth a fight. I've learned that lesson before - but some lessons have to be learned again. Either you forget, or things are slightly different with every person...or maybe it's just because relationships are tough.
But they're worth learning.