Рубрики
Без рубрики

Попробуй …catch действительно полезно?

Я хотел бы коснуться конкретного предмета, который мне спросили раньше много раз. Несколько недель назад мне попросили в моей компании одним из разработчиков из моей команды о «Try..Catch» …

Автор оригинала: Robert Wozniak.

Я хотел бы коснуться конкретного предмета, который мне спросили раньше много раз.

Несколько недель назад я попросил в моей компании одним из разработчиков из моей команды о обработке ошибок «Try..Catch», и если мы должны использовать это в наших компонентах?

Если честно – проходите через весь этот опыт разработчика и все мое путешествие как разработчик и никогда не использовал попытку, пытаясь, как способ обрабатывать ошибки. Может быть, это было предсказано из-за проектов, над которыми я работал или что-то еще. Мне просто не нужно было использовать его, не было причины для этого.

Я приезжаю из натурального и использованного на ежедневной базисной методологии, которая показывает, как обрабатывать ошибки, не используя попытку и поймать подход. Это мое личное мнение как разработчик, и это очевидно, что другие разработчики могут иметь другие мнения и в то же время не согласны со мной.

Что я думаю, что если вы используете Try …Catch Methodology, вы на самом деле не знаете, как управлять своим потоком кода. Вы на самом деле не знаете, что будет произойдет дальше, и он не отображается как хорошая реализация. Если у вас опытный программист, и вы проходили трудные времена в поле, вы собираетесь добраться до этого момента в конце концов, когда вы понимаете, что чистый, быстрый и понятный код для других разработчиков недостаточно. Вам необходимо иметь возможность контролировать поток – четко, вы должны быть уверены и уверены в том, что произойдет, потому что кодирование не является прогнозом погоды и не является направлением ветра, который может изменить любой момент.

Интересная часть управления текущим потоком кода состоит в том, что вам нужно объединить три или четыре элемента хороших методов кодирования, которые можно сказать, что ваш код не является штормом, который может перейти влево или вправо в любой момент. Что я имел в виду, говоря, сочетать три или четыре элемента?

Coding_flow.jpg.

Как вы можете видеть в вышеуказанном изображении – вот как я кратко опишу хороший поток кода. Как разработчики, мы должны были установить, что обучение – это хлеб для завтрака, и мы должны научиться обрабатывать ошибки без использования TRY …CACCH при построении небольшого и среднего приложения.

Я упомянул три абзаца выше, что кодирование не является прогнозом погоды – True, это не так и не несет ответственности за свой собственный код и что с этим произойдет. В другой руке вы можете сказать – я не могу предсказать, что будет возвращено сервером в качестве ответа, то я собираюсь использовать попытку, чтобы справиться с этим. Правда в том, что в этом случае вы собираетесь выбрать ленивый способ реализации обработки ошибок.

Что вы можете сделать, чтобы сделать его лучше вместо того, чтобы реализовать попробовать пытаться сразу? Если вы разработали серверное приложение для вашего проекта, вы знаете, какие коды и ответы будут возвращены, и вы, вероятно, обрабатывали все ошибки в вашем сервере приложение. Если вы этого не сделали, вам необходимо убедиться, что вы получили список ошибок, которые будут возвращены с внешнего сервера после отправки запроса на API. Вы должны знать это! Вы не можете использовать попытку поймать, потому что вы не знаете, попробуйте спросить его.

Ниже вы можете увидеть простую архитектуру ошибок обработки без попытки:

const getPostCode = (postCodeNum) => {
    const handleErrors = (errorCode) => {
        const errorCodes = {
            '500': handleInternalServerError,
            '404': handleNoneExistent
        };

        return errorCodes[errorCode]();
    };


    fetch(`https://www.url.com/getPostCode?code=${postCodeNum}`, {
        method: 'GET',
        headers: {
            'Content-Type': 'application/json'
        }
    })
    .then(response => response.json())
    .then(data => {
        const errors = data.error;
        const resp = data.response;

        if(errors) {
            handleErrors(errors.code);
        } else {
            handleResponse(resp);
        }
    })
    .catch(error => error);
};

getPostCode(07819283);

Я дал свое мнение о создании небольших и средних веб-приложений и в том числе TRY..CATCH в коде, я хотел бы поговорить о создании крупномасштабного веб-приложения. Я нахожу это как совершенно другую местность, чтобы посмотреть, потому что в теории, если у вас есть хороший контроль над небольшим/средним приложением, вы собираетесь потерять контроль над большой.

Почему это происходит? Это происходит, потому что количество увеличения кода и сложности, и у нас есть один модуль, который связывается с другим модулем, а затем другой и другой, чтобы выполнить то же действие. Это менее предсказуемо, и вы можете не знать, что будет происходить дальше. В этом случае, используя попытку и поймать, чтобы быть отличным идеей, чтобы предотвратить появление ошибок и проблем, которые не нужны, и не видели во время развития, а также проблемы отладки, которые могут быть трудоемкими, и именно поэтому вы должны использовать попытку.catch при разработке крупногабаритных приложений.

Postives:

  • Скрыть ошибки от пользователя
  • Позволяет создавать пользовательские ошибки
  • Помогает обрабатывать неожиданные ошибки

Негативы:

  • Увеличивает лень среди разработчиков
  • Отключает обычный механизм обработки ошибок браузера
  • Уменьшает чтение кода
  • Увеличивает время отладки
  • Уменьшает производительность приложения

Суммируя, попробуйте …catch следует использовать при разработке крупных приложений вместо того, чтобы использовать его в проектах среднего размера. Я чувствую, что используя попробовать …catch в проектах по небольшому/среднему размеру заставляет разработчиков ленивы и на самом деле не помогает им развиваться, потому что они не оспаривают себя так, как они не будут использовать следующее утверждение.

Это было бы в первом в блоге пост быстрых мыслей – пожалуйста, дайте мне знать ваше мнение в комментариях ниже, дайте ей как и поделиться этим с друзьями.