The default academic assumption in linguistics is that people speak one language at a time. So when speakers code-switch, so the theory goes, they draw from a competent understanding of more than one language they have in common with another speaker and switch from one grammar to the other at various predictable junctures.
Why not view it, if just for fun, from the perspective that the default is that people use whatever linguistic tools or other communicative devices are at their disposal regardless of how we might categorize what belongs to what language and regardless of competence within a language?
Recently, I listened as my Mexican neighbor, who has very limited English ability, conversed with my USA-born son, who picked up limited Spanish from co-workers over the past decade or so. With each understanding very little of each other's native vocabulary and unable to execute much formal syntax of the respective non-native language, they managed to get the message through. At times, they drew from a sign language that neither speaker had any systematic understanding of.
Does the situation of limited ability in a language describe the norm, or does communication necessarily grow from a competent internalized grammar of more than one language? Is traditional code-switching among competent speakers just an extension of cases where the speakers might be less than competent in any common language?