Rules should be explicit as possible, but there will always be people who try to get round the rules and will try to interpret them to their benefit. There is nothing you can do to stop this. All you can do is try to minimise the chances of this happening.
Some points to consider:
- Set up your system so that the community can feel like it owns the rules. Have a mechanism for suggesting new rules and amendments to existing ones. Allow enough time for a consensus to be reached and then implement the new rule with adequate publicity. If the users have a stake in setting the rules they are going to be less tolerant of people breaking them and will be more likely to back you up.
- Have a generic rule like "be nice" in there from the outset. This should cover general abusive behaviour - name calling etc. and can and, indeed, should be bolstered by specific rules against sexist, racist, homophobic or other such language/behaviour so you can have different levels of sanctions.
- Have a mechanism for users to report transgressions. Consider having different levels of report so that if you get enough reports of spam (for example) the system can automatically delete the post rather than waiting for human interaction.