I need to improve my script

Hello everyone. As you have seen from the title, i want to improve my script. It is about two cameras zooming in and out to a limited value on scrollwhel.It is a lot repetive and i am sure that it can be writen to have better preformance. so it would be good if someone could write a better version of it, using its variables and values.
using UnityEngine;

public class CamerasZooming : MonoBehaviour
{
    private readonly float maxZoomInFirstPerson = 0f;
    private readonly float maxZoomOutFirstPerson = -20f;
    private readonly float maxZoomInThirdPerson = 30f;
    private readonly float maxZoomOutThirdPerson = 15f;

    public Camera FirstPerson;
    public Camera ThirdPerson;

    void Update()
    {
        if (Input.GetAxis("Mouse ScrollWheel") != 0)
        {
            if(FirstPerson.enabled)
            {
                if (Input.GetAxis("Mouse ScrollWheel") > 0)
                {
                    if (FirstPerson.transform.position.z - GameObject.Find("Robot").transform.position.z < maxZoomInFirstPerson)
                    {
                        FirstPerson.transform.position = new Vector3
                            (FirstPerson.transform.position.x, FirstPerson.transform.position.y - 0.6f, FirstPerson.transform.position.z + 3f);
                        FirstPerson.transform.Rotate(0.9f, 0f, 0f);
                    }
                }
                if (Input.GetAxis("Mouse ScrollWheel") < 0)
                {
                    if (FirstPerson.transform.position.z - GameObject.Find("Robot").transform.position.z > maxZoomOutFirstPerson)
                    {
                        FirstPerson.transform.position = new Vector3
                            (FirstPerson.transform.position.x, FirstPerson.transform.position.y + 0.6f, FirstPerson.transform.position.z - 3f);
                        FirstPerson.transform.Rotate(-0.9f, 0f, 0f);
                    }
                }
            }
            if(ThirdPerson.enabled)
            {
                if (Input.GetAxis("Mouse ScrollWheel") < 0)
                {
                    if (ThirdPerson.transform.position.z - GameObject.Find("Robot").transform.position.z < maxZoomInThirdPerson)
                    {
                        ThirdPerson.transform.position = new Vector3
                            (ThirdPerson.transform.position.x, ThirdPerson.transform.position.y - 0.6f, ThirdPerson.transform.position.z + 3f);
                        ThirdPerson.transform.Rotate(-1.8f, 0f, 0f);
                    }
                }
                if (Input.GetAxis("Mouse ScrollWheel") > 0)
                {
                    if (ThirdPerson.transform.position.z - GameObject.Find("Robot").transform.position.z > maxZoomOutThirdPerson)
                    {
                        ThirdPerson.transform.position = new Vector3
                            (ThirdPerson.transform.position.x, ThirdPerson.transform.position.y + 0.6f, ThirdPerson.transform.position.z - 3f);
                        ThirdPerson.transform.Rotate(1.8f, 0f, 0f);
                    }
                }
            }
        }
    }
}

Something like this?

Although I would probably pass the params to the zoom method to make it more testable but its neither here nor there because unity isnt very testable anyway.


using UnityEngine;

// NOTE: Renamed because Classes should be nouns not verbs or adjectives, they are things not actions. Methods/ Functions are things that do things i.e. verbs
public class CameraZoomer : MonoBehaviour
{
    public Camera FirstPersonCamera;
    public Camera ThirdPersonCamera;

    private bool isFirstPerson;
    public bool IsFirstPerson 
    {
        get => isFirstPerson;
        set 
        {
            isFirstPerson = value;
            FirstPersonCamera.enabled = isFirstPerson;
            ThirdPersonCamera.enabled = !isFirstPerson;
        }
    }

    private Transform robotTransform;
    private float maxZoomIn => IsFirstPerson ? 0f : 30f;
    private float maxZoomOut => IsFirstPerson ? 30f : 15f;
    private Camera currentCamera => IsFirstPerson ? FirstPersonCamera : ThirdPersonCamera;
    private Vector3 cameraRotation => IsFirstPerson ? new Vector3(0.9f, 0f, 0f) : new Vector3(1.8f, 0f, 0f);

    private void Start()
    {
        robotTransform = GameObject.Find("Robot").transform;
    }

    private void Update()
    {
        var scrollWheel = Input.GetAxis("Mouse ScrollWheel");
        if (scrollWheel != 0)
            Zoom(scrollWheel);
    }

    private void Zoom(float scrollWheel)
    {
        var zoomLevel = currentCamera.transform.position.z - robotTransform.position.z;
        if (zoomLevel < maxZoomIn && zoomLevel > maxZoomOut)
        {
            currentCamera.transform.position = new Vector3(
                currentCamera.transform.position.x,
                currentCamera.transform.position.y - 0.6f, 
                currentCamera.transform.position.z + 3f
            );

            currentCamera.transform.Rotate(scrollWheel > 0 ? cameraRotation : -cameraRotation);
        }
    }
}