The subject of speech tags can be a polarizing one amongst writers. Few subjects elicit a faster, more rabid response than whether one should use "he said" after a piece of dialogue.
Speech tags and dialogue attribution are how writers let the reader know who is speaking. The simplest form is the aforementioned "he said," which comes just before or just after a quotation of dialogue. For example: "I never eat peanut butter on toast," John said.
There are two schools of thought regarding "said." One school believes that the word "said" has become all but invisible to the reader and should be the preferred explicit speech tag, along with tags like "asked," "whispered," "cried," etc. These folks believe that what needs to be avoided are those tags which are sometimes called "said bookisms," and tend to be used only to avoid repeating the word "said." Examples of these are words such as "interjected," "queried," and (to be avoided at all costs) "ejaculated." These tend to be a heckuva lot more distracting to your reader than the repetition of "said" would've been.
The other school believes that explicit speech tags of any sort are the devil and need to be burned out of your manuscript with hot pokers. For these folks there is no excuse for using "said." In order to let their readers know what is going on, they use implicit speech tags, as in the following example:
"I can too eat all the hot dogs in one sitting." John crossed his arms over his chest and glared.
Mary shook her head at him. "No, you can't!"
In this example, it's perfectly clear that John says the first bit of dialogue, and Mary says the second, all without an explicit speech tag.
When it comes to this touchy topic, I myself like to give my favorite piece of all-around-useful advice: All things in moderation.
Using implicit speech tags for every piece of dialogue becomes just as repetitive as using an explicit speech tag every time. Instead, vary your dialogue attributions. Skip attributions occasionally. You can usually skip every third or fourth attribution of a two-person conversation completely with no problems on the reader's end. Combine the more tell-y explicit speech tag with a show-y bit of action, such as: "You've got to be kidding," he gasped, backing up a step before he could stop himself.
And while yes, you could do that last example as an implicit tag purely by changing the comma to a period, I think the rhythm is better this way; less choppy, more fluid. But that's a matter of personal opinion and style. I prefer to use more implicit than explicit, but sometimes the rhythm really seems to call for that explicit speech tag. Why limit yourself?