If I am on shared hosting should SPF record be more explicit like instead of using +a would it be better to use +a:example.com (with or without +)?
If the “a” without domain is in the SPF record for example.com it will be resolved as “a:example.com”, but if it is in the SPF record for example.net, it will be resolved as “a:example.net”. So the answer depends on what you’re trying to achieve. If there’s a risk that the IP address changes, I’d use the specific “a:example.com” (or even more specific “a:mail.example.com”) mechanism and if the IP is known to be static, I’d use an “ip4” mechanism. The + sign is implicit, so it can be omitted.