Is this a good way to Clamp a Rotation?

The code below works fine but somehow when I try to rotate the object again when it reaches the minClamp and the maxClamp it seems somehow delay when I pressed a key to rotate it.

    public float minClamp = 0.0f; 
    public float maxClamp = 90f;
public float speed = 5.0f;
private float zRotation = 0.0f;

void Update () 
{
	zRotation -= Input.GetAxis ("Horizontal") * speed;
	transform.eulerAngles = new Vector3(0.0f, 0.0f, Mathf.Clamp(zRotation, minClamp,     maxClamp));
}

You want to clamp the zRotation value first, otherwise it’ll keep accumulating while you hold the axis:

void Update () 
 {
     zRotation = Mathf.Clamp(zRotation - Input.GetAxis ("Horizontal") * speed, minClamp, maxClamp);
     transform.eulerAngles = new Vector3(0.0f, 0.0f, zRotation);
 }

Just by the way here it’s explained well