If one person thinks something is fine and someone else thinks it isn't you get disagreements and arguments based on misunderstandings and assumptions.
IMO outlining what is "professional" and what isn't in a CoC solves that issue.
You get those anyway. Also empirically speaking, having a CoC to try and spell out "professional" behavior seems to make things worse. It's not a solution at all.
IMO outlining what is "professional" and what isn't in a CoC solves that issue.