The basics first: Dialogue tells us what is said, attribution tags tell us who said it and modifiers tell us how it was said. “He/she said” is the basic modifier.
Step 1: Determine the need for a speech attribute
Does the reader need help to identify the speakers?
As a general rule of thumb: When in doubt, leave it out.
A dialogue between two people requires ‘he said’ with at least one of the two, the other can go without. For example:
"Are you having anything else? I'm having a coffee." Alice said to Jenny. "I'm not sure. That cheesecake looks pretty good but I'm supposed to be on a diet." "It's your birthday! You don't need to diet on your birthday." "I just don't want to regret it for hours later." "Fair enough. If you think you'll regret eating it, don't eat it."
This dialogue naturally shows which part is spoken by which character. That isn’t the case when three or more characters are talking. Prevent confusion by sprinkling some tags around. For example:
"Are you having anything else? I'm having a coffee." Alice said. "I'm not sure. That cheesecake looks pretty good but I'm supposed to be on a diet." Bernice said. "It's your birthday! You don't need to diet on your birthday." Jenny said. "I just don't want to regret it for hours later." "Fair enough. If you think you'll regret eating it, don't eat it."
A dialogue between two people requires ‘he said’ with at least one of the two, the other can go without. If the dialogue is extensive, regular speech attributions are helpful waypoints for the reader.
Step 2: Determine the function and shape of the speech attribute
Is “he said” enough?
‘I love you,’ he said. (Plain)
Is ‘said’ technically enough but does the page require a little more flavour to feel less repetitive?
Consider hiding the identification in gestures rather than falling back on said-alternatives.
‘I’ve come to fight you.’ John took the gun from the holder and took aim. ‘Oh have you?’ Jane sipped her tea, not taking her feet off the table. ‘Yeah.’ What was wrong with her? Why isn’t she reacting? He shifted his weight nervously. ‘Best not look behind you then.’
Or is a modifier needed to convey additional information?
Sometimes the dialogue doesn’t make it obvious, it still implies a certain way of speaking which still makes a special modifier redundant. For example:
'Oh my god,’ shouted John. ‘Oh my god!’ said John. ‘Oh my god!’ shouted John. ‘OH MY FUDGING GOD!’ said John.
Interpunction such as an exclamation mark already implies shouting, leaving the ‘shouted’ modifier redundant. A less direct implication of shouting is cursing. However, readers naturally associate cursing with raising once’s voice and thus do not need the confirmation in the modifier. Instead, only use a special modifier if your character curses without raising his voice, for example:
"Oh my fucking god." She whispered (under her breath).
Some modifiers provide the reader with additional information, for example about a character’s emotional or mental state.
‘I love you,’ he confessed.
Sometimes written dialogue cannot show the effect directly. In that case, a modifier tells the reader how it is said.
‘I love you,’ he murmured.
1 Reducing redundancy
Each modifier should tell the reader something he doesn’t already know. The tag either tells the reader who is speaking (if this wasn’t already clear) or provides additional information. The beginner writer often uses said-alternatives in an effort to be as specific and informative as possible with every word they use. So when they find themselves needing to identify the speaker for clarity, they turn to these alternative words. Look at this example:
"I'm telling you, if you took the last cookie again, there are consequences!" John warned. "I don't know what you're talking about." Alice evaded. "Did you take the last cookie?" John accused. "Don't get angry with me." Alice pleaded. "So you did!" John shouted.
The problem with this style of writing is its redundancy. Strong dialogue already conveys a lot of information, leaving the speech attribution a pointless addition merely confirming what the reader already knows. Read the example above once more. Does the attribution tell you anything you didn’t already know? No? Scrap them!
2 Using the right modifiers
An example of a bad modifier is “stuttered”. Show a stutter directly in the written dialogue.
"P-p-please... it's only one cookie." Alice stuttered.
Noble, W. (1987) Shut up! He explained.