Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π² срСдС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ соблюдСния ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°. Когда Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… становится слоТной, Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Ρ… мСстах ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ становится нСдопустимым. Π’ Ρ‚Π°ΠΊΠΈΡ… ситуациях ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ встаСт Π·Π°Π΄Π°Ρ‡Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ частями систСмы.

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ являСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ИмСнно ΠΎΠ½ΠΈ слуТат Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ для ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны ΠΈΠ· Ρ„ΠΎΡ€ΠΌ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий ΠΈΠ»ΠΈ Π²Π΅Π±-сСрвисов. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· внСшнСй области видимости, опрСдСляСт ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ всСй систСмы.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ синтаксис обращСния ΠΊ внСшним ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ, настройки свойств ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ» видимости. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ эффСктивно ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ скрытых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ исполнСнии запросов.

АрхитСктура ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ΄, находящийся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈ ΠΊΠΎΠ΄, вынСсСнный Π² ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Π€ΠΎΡ€ΠΌΠ° ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ собствСнной ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости, Π³Π΄Π΅ доступны Π΅Ρ‘ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ экспорта.

ΠžΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния глобально доступного ΠΊΠΎΠ΄Π°. Однако простого размСщСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ нСдостаточно. НСобходимо явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для использования Π²ΠΎ внСшнСм контСкстС.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ здСсь являСтся свойство Экспорт. Если ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΈΠ»ΠΈ функция Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° этим ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом, ΠΎΠ½Π° остаСтся локальной для Π΄Π°Π½Π½ΠΎΠ³ΠΎ модуля. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ·Π²Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ ошибкС выполнСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π—Π°Π±Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ Π² установкС Π³Π°Π»ΠΎΡ‡ΠΊΠΈ «Экспорт» Π² свойствах ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€” самая частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ошибок Β«ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Β». ВсСгда провСряйтС свойства ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ понятиС ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного взаимодСйствия. НС всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Для этого ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ назначСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠšΠ»ΠΈΠ΅Π½Ρ‚.

Бинтаксис Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля

Для обращСния ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, располоТСнной Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ точСчная нотация. Имя модуля выступаСт Π² Ρ€ΠΎΠ»ΠΈ пространства ΠΈΠΌΠ΅Π½, отдСляСмого Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ самой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π­Ρ‚ΠΎ позволяСт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ источник ΠΊΠΎΠ΄Π°.

Рассмотрим Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π”Π°Π½Π½Ρ‹Ρ…. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ создана функция Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ°Π»ΠΎΠ³. Для Π΅Ρ‘ Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· модуля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ мСста ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ конструкция:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π”Π°Π½Π½Ρ‹Ρ….Π Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠΠ°Π»ΠΎΠ³(Π‘ΡƒΠΌΠΌΠ°, Π‘Ρ‚Π°Π²ΠΊΠ°);

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ имя ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля Π² ΠΊΠΎΠ΄Π΅ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² синонимС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. РСгистр символов Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ соблюдСниС Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ стиля написания ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

Если функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ случаС с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ, которая Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π²Ρ‹Π·ΠΎΠ² производится Π±Π΅Π· присваивания, Π½ΠΎ синтаксис обращСния остаСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ.

  • πŸ”Ή Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ имя модуля Π² ΠΊΠΎΠ΄Π΅ совпадаСт с синонимом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ”Ή Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ . Π² качСствС раздСлитСля ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ модуля ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.
  • πŸ”Ή ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ количСство ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΈΡ… порядок. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ встрСчаСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π°Ρ‰Π΅ ΠΈ являСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

πŸ“Š Какой способ Π²Ρ‹Π·ΠΎΠ²Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ модуля
Π§Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ модуля
Π§Π΅Ρ€Π΅Π· поиск ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ
НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

Настройка свойств модуля для ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного взаимодСйствия

Одной ΠΈΠ· самых слоТных Ρ‚Π΅ΠΌ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² являСтся Ρ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ контСкстов выполнСния. Код Π² 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ (Ρ‚ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€) ΠΈΠ»ΠΈ Π½Π° сСрвСрС. Ошибки ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ часто связаны ΠΈΠΌΠ΅Π½Π½ΠΎ с Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π³Ρ€Π°Π½ΠΈΡ† этих контСкстов.

Π’ свойствах ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля сущСствуСт Π³Ρ€ΡƒΠΏΠΏΠ° Ρ„Π»Π°Π³ΠΎΠ² Β«Π’Ρ‹Π·ΠΎΠ² сСрвСра» ΠΈ Β«ΠšΠ»ΠΈΠ΅Π½Ρ‚Β». Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· клиСнтского ΠΊΠΎΠ΄Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅), ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π·ΠΎΠ².

Для сСрвСрных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π»Π°Π³ Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ контСкст Π²Ρ‹Π·ΠΎΠ²Π°. Если этот Ρ„Π»Π°Π³ Π½Π΅ установлСн, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΎ нСвозмоТности Π²Ρ‹Π·ΠΎΠ²Π° сСрвСрного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ· клиСнтского контСкста.

Бвойство модуля ОписаниС Π“Π΄Π΅ доступно
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Π”Π΅Π»Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ доступным Π²ΠΎ всСх контСкстах ΠšΠ»ΠΈΠ΅Π½Ρ‚, Π‘Π΅Ρ€Π²Π΅Ρ€, Π’Π½Π΅ΡˆΠ½Π΅Π΅ соСдинСниС
ΠšΠ»ΠΈΠ΅Π½Ρ‚ Код выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Волько клиСнтскиС Ρ„ΠΎΡ€ΠΌΡ‹
Π‘Π΅Ρ€Π²Π΅Ρ€ Код выполняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° сСрвСрС 1Π‘ Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹, Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания
Π’Ρ‹Π·ΠΎΠ² сСрвСра Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² сСрвСрных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка этих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² критичСски Π²Π°ΠΆΠ½Π° для бСзопасности ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НС слСдуСт Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ Π±Π΅Π· нСобходимости, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ врСмя Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИзмСнСниС свойств ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, снятиС Ρ„Π»Π°Π³Π° Β«Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉΒ») Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ пСрСзапуска клиСнтского прилоТСния ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ для вступлСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² силу.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ компиляции &ΠΠ°ΠšΠ»ΠΈΠ΅Π½Ρ‚Π΅, &НаБСрвСрС ΠΈ &ΠΠ°Π‘Π΅Ρ€Π²Π΅Ρ€Π΅Π‘Π΅Π·ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля для уточнСния области выполнСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ частых Π²Ρ‹Π·ΠΎΠ²Π°Ρ…

ΠŸΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±Ρ‰ΠΈΠΌΠΈ модулями ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· имя модуля (Π˜ΠΌΡΠœΠΎΠ΄ΡƒΠ»Ρ.Ѐункция) Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ поиска этого модуля Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ тысячах Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² Ρ†ΠΈΠΊΠ»Π΅ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΌ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΈΠΏΠ° ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠžΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ просто ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π½Π°Ρ‡Π°Π»Π΅ выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Однако Π² 1Π‘ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ являСтся использованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ модуля.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² Π½Π°Ρ‡Π°Π»Π΅ модуля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ссылку Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π­Ρ‚ΠΎ избавляСт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ ΠΎΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ.

&НаБСрвСрС

ΠŸΠ΅Ρ€Π΅ΠΌ ΠœΠ΄ΠœΠΎΠΈΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ;

&НаБСрвСрС

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ()

ΠœΠ΄ΠœΠΎΠΈΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ = ΠžΠ±Ρ‰ΠΈΠ΅ΠœΠΎΠ΄ΡƒΠ»ΠΈ.ΠœΠΎΠΈΠ’Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅ΠΌΡ‹Π΅ΠœΠΎΠ΄ΡƒΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

&НаБСрвСрС

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°()

// Быстрый Π²Ρ‹Π·ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = ΠœΠ΄ΠœΠΎΠΈΠ€ΡƒΠ½ΠΊΡ†ΠΈΠΈ.БлоТныйРасчСт(ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€);

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π² рСгистрС свСдСний, Π³Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ массово.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для хранСния ссылки Π½Π° ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Ссли количСство Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСанса ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 100 Ρ€Π°Π·. Π­Ρ‚ΠΎ ускорит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля. Блишком большиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, содСрТащиС сотни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ дольшС. Π›ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π½Π° нСсколько тСматичСских ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΊΠΎΠ΄Π°, разнСсСнного ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ модулям, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Когда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°. Π’Π°ΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Частой ситуациСй являСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 1Π‘ являСтся языком с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² часто происходит ΡƒΠΆΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния. Если функция ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Число, Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π‘Ρ‚Ρ€ΠΎΠΊΡƒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… ситуаций ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ вывСсти ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ понятноС сообщСниС, Π½Π΅ прСрывая Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй систСмы.

  • πŸ”Έ ВсСгда провСряйтС Ρ‚ΠΈΠΏΡ‹ входящих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ экспортируСмой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • πŸ”Έ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ останова (F9) Π½Π° строкС Π²Ρ‹Π·ΠΎΠ²Π° для пошаговой ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
  • πŸ”Έ АнализируйтС ΠΎΠΊΠ½ΠΎ Β«Π’Ρ‹Π·ΠΎΠ²Ρ‹Β» Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° для понимания Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ выполнСния.

Если функция находится Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ), ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²Π° доступа ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° 1Π‘

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° имя модуля Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ "ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ". Π­Ρ‚ΠΎ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ исходный ΠΊΠΎΠ΄ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½Π° находится Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ слоТных систСмах Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ модулями стоит Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ рСгистрации, особСнно Ссли ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ расчСты.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ способы ΠΈΡ… устранСния

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ взаимодСйствия ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Анализ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частых ошибок ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Одной ΠΈΠ· распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±Π΅Π· использования ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Π’Ρ‹Π·ΠΎΠ²Π‘Π΅Ρ€Π²Π΅Ρ€Π° Π² описании ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Π’ этом случаС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° просто Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² клиСнтском контСкстС.

Другая ошибка связана с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, Π½ΠΎ Π·Π°Π±Ρ‹Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Π³Π΄Π΅ ΠΎΠ½ вызываСтся, систСма выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ Β«ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Β». Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ комплСксным.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ваши Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пСрСзаписаны. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ сохраняйтС Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ рСкурсии. Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ самой сСбя (Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ стСка ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ сСанса.

πŸ’‘

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ надСТности: всСгда провСряйтС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ свойства «Экспорт» ΠΈ соотвСтствиС контСкстов выполнСния (ΠšΠ»ΠΈΠ΅Π½Ρ‚/Π‘Π΅Ρ€Π²Π΅Ρ€) ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй модуля.

БоблюдСниС этих простых ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Π² дальнСйшСм.

МоТно Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (Π±Π΅Π· экспорта) ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля?

НСт, это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π±Π΅Π· свойства Экспорт Π²ΠΈΠ΄Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚ΠΎΠ³ΠΎ модуля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ инкапсуляции Π² 1Π‘.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠžΠ±Ρ‰ΠΈΠ΅ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ?

Π’Ρ‹Π·ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠžΠ±Ρ‰ΠΈΠ΅ΠœΠΎΠ΄ΡƒΠ»ΠΈ.Имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для динамичСского получСния ссылки Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. ΠŸΡ€ΡΠΌΠΎΠΉ Π²Ρ‹Π·ΠΎΠ² Π˜ΠΌΡΠœΠΎΠ΄ΡƒΠ»Ρ.Ѐункция являСтся статичСским ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ rΓ©solven Π½Π° этапС компиляции.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "НСдопустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅" ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅?

Π§Π°Ρ‰Π΅ всСго это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ нСсоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Число вмСсто Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈΠ»ΠΈ БправочникБсылка вмСсто Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠžΠ±ΡŠΠ΅ΠΊΡ‚.

Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля?

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² 1Π‘ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ссылкС автоматичСски. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля, ΠΈ Π»ΡŽΠ±Ρ‹Π΅ измСнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ отразятся Π½Π° исходном массивС.

МоТно Π»ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ модуля Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ?

Π”Π°, Ссли ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ свойство Β«Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉΒ» ΠΈΠ»ΠΈ Β«Π‘Π΅Ρ€Π²Π΅Ρ€Β», Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ клиСнтскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Ρ„ΠΎΡ€ΠΌΡ‹, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΈ).