Per this article at Office Online:
Field or group names cannot contain spaces. They must begin with an
alphabetic character or underscore ("_"), and they can only contain alphanumeric
characters, underscores, hyphens ("-"), and periods (".").
I tend to like highly descriptive field names (and tend to error on the side of longer rather than shorter names) and generally capitalize everything except attributes. I'd be interested to hear the practices of others for field naming, however.