Colloquialisms are a mixed bag. Some writers and editors avoid them like the plague, and others believe informal phrases more than earn their place.
Hard and fast rules in writing just don’t cut it. Personally, I think generalizations like “avoid colloquialisms” are just silly. Especially in fiction.
A colloquialism is an informal word or phrase that one would normally hear in conversation but wouldn’t necessarily expect to see in formal literary form. So, if in giving directions to a friend I mention traveling along the “main drag” I’m describing the significant thoroughfare for vehicular traffic in a given place but in far fewer words thanks to the informal phrase. Colloquialisms escape notice, because they’re a part of our everyday vocabulary. But catch them out of their appropriate context, and, pow, they derail a train of thought faster than, well, a derailed speeding train.
Genre, setting, and intended audience guide the finicky rules of colloquial language. A story set in the Middle Ages is in colloquial trouble when words come up like “kid” (referring to a child) or “what’s up” (to ask someone how they’re doing). Short of a time travel element somewhere in the plot, those words are going to stick out like a sore thumb. Or if a sci-fi story intended for a broad range of readers is bogged down in über-scientific or obscure language without introduction and explanation, putting down the book becomes much easier. Very little distracts quite so effectively as a misplaced or exclusive colloquialism.
Writing fiction isn’t the same as academic or technical writing. Colloquialisms flavor a story, create a rich environment surrounding the characters, and define the narrative voice. Ruling them out entirely denies a treasure trove of ways to connect to a reader, not to mention the opportunity to determine a whole new set of informal terms and phrases entirely unique to a specific story-world. Who would want to pass that up?