I don't think we need `has_action` here. If your reason is for optimization purpose then I think you already have my answers. WordPress itself doesn't check `has_action` before calling `do_action`.