Ok, I HAVE to weigh in on this topic:
I try to stick to a few of basic principles, based on actual human history:
1. Town Center -- this might be a small patch of dirt, or a beautifully decorated plaza with a fountain and statues and flowers, or anything in between, but every town has some kind of outdoor gathering area, so it should have some NPCs milling around as well.
2. Water -- People simply do not live without water access. This might be a beach, a nearby lake, river, stream, or even just a well (in a really small town), and is also a common spot to find people, fisherman, villagers, sailors...
3. "that big fortified thing" -- In a very tiny village this might be just the chief's slightly bigger cabin, but in all other towns, there will be a mayor's house, a castle, a citadel, a cathedral, something that stands out and usually shows who is in charge. This does not need to be in the center of town (as it rarely is/was in real life), but should receive extra attention (and fortifications), plus MORE people than other buildings.
4. Farms, Mills, and the such -- well, people have to eat, right? but these things are typically on the outskirts of town for some obvious reasons. you don't need to map all the farm land either, but a chicken coop and cows are smelly and (unless you live in India) you wouldn't see cows hanging out in the city proper.
5. PEOPLE DOING STUFF! -- This is probably the most important piece. I don't need access to every villager's house (it's really rude to barge into people's houses!) but even modestly sized cities in the middle ages supported thousands of people. so unless a plague just swept through your fantasy country or its supposed to be a ghost town, there should be plenty of activity. there should be more adult age people than elderly or children, but Populate, Populate, Populate. Sure, not every NPC is going to have something super interesting to say, but that's life. not everyone is interesting!

But it kills the whole mood when I get to a new town, and Im excited to learn its history, and engage the townsfolk, to discover that everyone is gone (like our downtown area here on Sundays!)
6. Shops, Smiths, Inns -- Inns/Taverns are typically used by travelers so they should be right on the Main Road into the town, right by the city gates or in any really obvious spot. Shops and smithy's should also be pretty obvious, but can be clumped together in a smallish "business district" or marketplace... that's just rational.