Name: Heroic Strike
#showtooltip<br />/startattack<br />/cast Heroic Strike
For writing these types of macros, this is where the importance of naming comes into play. For writing this macro I named it "Heroic Strike", even though there's already a move named "Heroic Strike" I know that when I replace this on my actionbar it will say "Heroic Strike" for me and I will not forget what it does.
A nice thing that Blizzard has added to the macro API, under "Metacommands" in that command list, is something called "#showtooltip". This will show whatever spell, trinket, or anything you're using in the macro's command box when you hover over it with your cursor. This will also help you remember what the macro does, and it is suggested you start most macros that have something that you cast or use with "#showtooltip".
The second line, "/startattack", is useful for any and all melee classes in the game. It is very easy without a macro to just push a spell or ability and not have enough rage, energy, runic power, or focus to use the ability or spell, and you do not do any damage to your target because you do not start attacking when you use the move without enough rage, energy, runic power, or focus. So, if you use "/startattack", you will target and start attacking the closest mob to you, and if you're spamming the macro (which you can do), you should eventually use that ability or spell on your target.
The last line casts your ability or spell. If you're already attacking a target, the macro will just use the ability that you want to use.