Naming guidelines have occasioned much argument, pontificating, and browbeating, but here are three simple and intuitive principles that might save you some grief.
Though you see them in examples, never use names like foo or Qaz in a real program. Those are meaningless words (called “metasyntactic variables”) commonly used in language instruction so that the form of a thing can be shown without bringing attention to specific content. When you're doing real work, the content matters, and the variable and method names should reflect it.
An authoritative list of metasyntactic variables is found in the Jargon File, which any search engine can find all over the Web. It's good reading, full of insight, history, fun, and ...