GO_INTERVIEW_LIB Telegram 290
💬 В чем заключается риск использования глобальных переменных, особенно изменяемых?

Глобальные переменные — это те, которые мы размещаем вне функций или методов, доступные для любой части нашего кода для использования и изменения. Часто они приносят больше проблем, чем пользы. Вот почему:

🔹 Отслеживание изменений затруднено: определить, где была изменена переменная featureConfig.NewCheckoutProcessEnabled в вашем приложении, сложно, когда любая часть кода может её изменить.

🔹 Тестирование усложняется: предположим, мы тестируем новый и старый процессы оформления заказа. Если оба теста вмешиваются в один и тот же глобальный featureConfig, мы не сможем тестировать их независимо, не мешая один другому.

🔹 Проблемы с конкурентностью: когда несколько запросов пытаются одновременно читать или изменять featureConfig, это может привести к несоответствиям (состояние гонки).

📌 Что делать? Dependency injection👇

Это метод, при котором мы предоставляем объекту его потребности извне, вместо того чтобы создавать их самостоятельно или брать из глобальных переменных.

Да, этот метод делает вещи немного более сложными, но он также упрощает поддержку кода, его тестирование и поиск ошибок.

С внедрением зависимостей настройка тестов для сценариев с включенными и отключенными функциями становится простой.

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

Также, если мы используем глобальные переменные, которые изменяются во время выполнения, необходимо убедиться, что мы используем техники синхронизации.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2



tgoop.com/go_interview_lib/290
Create:
Last Update:

💬 В чем заключается риск использования глобальных переменных, особенно изменяемых?

Глобальные переменные — это те, которые мы размещаем вне функций или методов, доступные для любой части нашего кода для использования и изменения. Часто они приносят больше проблем, чем пользы. Вот почему:

🔹 Отслеживание изменений затруднено: определить, где была изменена переменная featureConfig.NewCheckoutProcessEnabled в вашем приложении, сложно, когда любая часть кода может её изменить.

🔹 Тестирование усложняется: предположим, мы тестируем новый и старый процессы оформления заказа. Если оба теста вмешиваются в один и тот же глобальный featureConfig, мы не сможем тестировать их независимо, не мешая один другому.

🔹 Проблемы с конкурентностью: когда несколько запросов пытаются одновременно читать или изменять featureConfig, это может привести к несоответствиям (состояние гонки).

📌 Что делать? Dependency injection👇

Это метод, при котором мы предоставляем объекту его потребности извне, вместо того чтобы создавать их самостоятельно или брать из глобальных переменных.

Да, этот метод делает вещи немного более сложными, но он также упрощает поддержку кода, его тестирование и поиск ошибок.

С внедрением зависимостей настройка тестов для сценариев с включенными и отключенными функциями становится простой.

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

Также, если мы используем глобальные переменные, которые изменяются во время выполнения, необходимо убедиться, что мы используем техники синхронизации.

BY Библиотека Go для собеса | вопросы с собеседований





Share with your friend now:
tgoop.com/go_interview_lib/290

View MORE
Open in Telegram


Telegram News

Date: |

fire bomb molotov November 18 Dylan Hollingsworth yau ma tei The creator of the channel becomes its administrator by default. If you need help managing your channel, you can add more administrators from your subscriber base. You can provide each admin with limited or full rights to manage the channel. For example, you can allow an administrator to publish and edit content while withholding the right to add new subscribers. Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator. During a meeting with the president of the Supreme Electoral Court (TSE) on June 6, Telegram's Vice President Ilya Perekopsky announced the initiatives. According to the executive, Brazil is the first country in the world where Telegram is introducing the features, which could be expanded to other countries facing threats to democracy through the dissemination of false content. Telegram users themselves will be able to flag and report potentially false content.
from us


Telegram Библиотека Go для собеса | вопросы с собеседований
FROM American