I always been the kind person to hide my true feeling until one day I decided to come clean about how I feel about a person or if I'm feeling anger or any other emotion.
I used to have what I call "A French Temper" probably best exemplified by my French relatives.
I would blow up every few years and it would all pour out - not always even at the person who had caused the stress.
So now I'll say "Gee that hurt?" out loud if someone I know hurts me with words. And I talk more about anger/irritation than I did. With people I trust.
Anger was frowned on in my family. But it's part of life - and it's good to let it loose - be it through your words or exercise - journaling - whatever it is that doesn't hurt others. Before it becomes a destructive force.
I also weigh whether anything I say will actually change a behavior that's bothering me. If not? Well I need to come to terms with it or avoid that person. (I know that doesn't work in a work environment).
You should never hide your feelings. There is a time and a place but bottling things up only leads to suffering. We all need to talk and vent because we are social creatures by nature. Try to establish a good support system with friends and/or family that will be there for you. It can be made up of several different types of supportive people such as those who offer advice or those who call you out on your crap etc etc.
I find it's how you say things. I tell people "I will be honest with you, and I don't want you to take anything I say as a personal attack, but rather a statement of my feelings."
I had a coworker who had some habits that really rubbed me the wrong way so I sat with them and said "I'm not saying this to be mean, I just want you to be aware when you do this it irks me. It may very well be just my own perception, but I'd really appreciate it if you could avoid that around me." I find when you tell them honestly upfront and make them know that you don't just hate them that confliCT can be resolved before it happens. I used to hold it in and hold it in until I'd snap and then I was the bad guy, so I tried addressing things respectfully. Just my opinion.
There is a delicate balance. I'm the kind of person who tries to weigh how it'd make them feel with how I need to feel. And it depends on if you're close to them or just a co-worker or distant acquaintance. I'd also recommend the whole journal writing thing or other non-personal-confrontation if you don't already. Doesn't work for everyone but its worth a shot. It's hard to navigate these feelings, but if the person in question cares about you they'll work to understand how you feel just as you try to understand how they feel.
It's most right to let your feelings out much sooner than that and in a controlled way, before the emotion boils over. Set your boundaries, and if someone starts to cross them, say "this is making me uncomfortable" (rephrased to however sounds natural for you). If they do not respect that by stopping or altering their behavior to something acceptable, immediately make yourself more clear (while some people will test your boundaries and you need to let them know that's not okay, others just don't always understand subtle and don't mean anything bad, but they just need more help understanding). If being more clear doesn't help, then they are just pushing your buttons and it's okay to be firm... so that's when it's good to say "If you don't stop (whatever), I'm going to/not going to (insert consequence here)."
Make sure the consequence is something you really are willing and able to do, because if they keep up with whatever is ticking you off, you're going to have to actually do that or they won't take you seriously next time... and make it a natural consequence. Like "If you don't stop calling me that name, I'm not talking to you for a week." Of course you wouldn't want to hang out with someone who is saying stuff that you didn't like, so that's probably easy reasonable to do. If you said instead "If you don't stop calling me that name, I'm not talking to you anymore" then you would have to end that friendship, and that might be a friend you don't really want to give up - you just want them to stop doing a specific thing that was ticking you off.
If it's not a natural consequence - like if you say "If you don't stop calling me that name, I'm going to dump paint all over your porch" well, that's just going to come across as mean and unreasonable.
Just my opinion, based on some stuff I've studied.
I try to adhere to the suggestion of asking yourself is it true, is it kind, is it necessary. It doesn't usually steer me wrong...but I've gotten myself in hot water a time or two not remembering to pause and remind myself.
Be honest. Be open. Be fearless.
It really doesn't matter what you think "they" will think about you.
I'm honest about my feelings and speak my mind when it's warranted. That being said, if I want my message to be well received, I have to look at what I'm saying through the receivers eyes, in order to phrase what I'm feeling in a way that the other person will understand and to ensure they do not react poorly. We all want to be understood. It's human nature.
We are social creatures and are supposed to express feelings by design. Emotions motivate us. Anxiety motivates to engage in behavior that resolves the anxiety (studying for a test). Sadness motivates us to connect with others (although many of us fight this). Anger motivates us to fight (survival). We have become the most dominant species, not because of strength, size or speed, but because we rely on each other. Hiding our emotions is actually going against our own biology. But I also agree with jeffy. We have to be able to control our emotions in a civilized society. That is emotional intelligence.