I think the perfect name would incorporate all of those factors. Personality is also important too. If you are going for humour, something that contrasts your dog would be a good idea - like calling a toy breed Butch, or a St. Bernard Titch.
I think it is best to stay away from those typical names - Spot for a dalmatian, Fee Fee for a poodle, etc - as they turn your dog into an archetype rather than in individual.
I can't remember the name of the breed, but a friend has a wrinkly coated dog and called it scrunch.
Short names can be good for practicality, like giving commands and training. It will be easier for the dog to recognise when it's being addressed. You could also pick something that can be shortened to a nickname.
A name should be to do with what ever captures your heart in the animal, whether it be appearance, temperament or what they were doing when you first saw them. Both of our birds were named after their colours we have Veigar who is blue, white and black and named after a black and blue character in a computer game and a green, yellow and black bird that is named Emmie as she is sort of an emerald green colour. - See more at: http://readyforpets.com/what-is-the-best-cat-name/#sthash.NumWrkB1.dpuf