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

ПониманиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ для написания качСствСнного ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π’Ρ‹ Π½Π΅ смоТСтС эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ссли Π½Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ, ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ присваиваниС Π½ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ понятиями Β«Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ» ΠΈ Β«Ρ‚ΠΈΠΏ значСния». Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков программирования, 1Π‘ позволяСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ свой Ρ‚ΠΈΠΏ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… часто ΠΈΠΌΠ΅ΡŽΡ‚ фиксированный Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ², ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° нСдопустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния. ΠœΡ‹ рассмотрим способы ΠΎΠ±Ρ…ΠΎΠ΄Π° этих ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ бСзопасной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π² языкС 1Π‘

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄Π΅, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сначала Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ число, Π° Π·Π°Ρ‚Π΅ΠΌ β€” строку, ΠΈ систСма Π½Π΅ выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции. Однако ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌ) Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ строгиС ΠΏΡ€Π°Π²ΠΈΠ»Π°, опрСдСляСмыС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ свойство Β«Π’ΠΈΠΏΒ», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько допустимых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΈΠΏ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² этот список, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° сгСнСрируСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнная функция Π’ΠΈΠΏΠ—Π½Ρ‡(), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ описаниС Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ значСния.

Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Π’ΠΈΠΏ ΠΈ само Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° описываСт структуру Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π½Π΅ содСрТит самих Π΄Π°Π½Π½Ρ‹Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр этого Ρ‚ΠΈΠΏΠ° ΠΈΠ»ΠΈ привСсти ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, пустая строка ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния систСмы Ρ‚ΠΈΠΏΠΎΠ² 1Π‘.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° НСопрСдСлСно, Ссли этот Ρ‚ΠΈΠΏ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ Π² свойствах ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ «НСвСрный Ρ‚ΠΈΠΏ значСния». ВсСгда провСряйтС состав Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ записью.

πŸ“Š Какой способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π―Π²Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²
ИспользованиС Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
ДинамичСскоС созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· Π’ΠΈΠΏΠ—Π½Ρ‡

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π’ΠΈΠΏ ΠΈ конструктора Ρ‚ΠΈΠΏΠΎΠ²

Для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ получСния описания Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция Π’ΠΈΠΏ(), которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ строковоС Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ основной инструмСнт, ΠΊΠΎΠ³Π΄Π° имя Ρ‚ΠΈΠΏΠ° извСстно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ хранится Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Бинтаксис прост: Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ строку, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "Число" ΠΈΠ»ΠΈ "БправочникБсылка.НомСнклатура", ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ°.

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

ИмяВипа = "БправочникБсылка.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹";

Π’ΠΈΠΏΠžΠ±ΡŠΠ΅ΠΊΡ‚Π° = Π’ΠΈΠΏ(ИмяВипа);

// Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π’ΠΈΠΏΠžΠ±ΡŠΠ΅ΠΊΡ‚Π° содСрТит описаниС Ρ‚ΠΈΠΏΠ° ссылки Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°

Однако просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ нСдостаточно, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Для ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π”Π°Ρ‚Π°) это дСлаСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ. Для слоТных Ρ‚ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ссылки Π½Π° справочники, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ конструкторы ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ получСния пустых ссылок. Ошибка Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Π² строкС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ функция Π’ΠΈΠΏ() Π²Π΅Ρ€Π½Π΅Ρ‚ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли имя нСдопустимо.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π’ΠΈΠΏ() с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ: ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² строковом ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏΠ° Π½Π΅ всСгда выявляСтся Π½Π° этапС компиляции, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡƒΠ»ΠΎΠ²ΠΈΠΌΡ‹ΠΌ ошибкам Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π±Π°Π·Π΅.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ бСзопасноС присваиваниС

НаиболСС частая Π·Π°Π΄Π°Ρ‡Π° β€” привСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΊ Ρ‚ΠΈΠΏΡƒ, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ. Π’ 1Π‘ Π½Π΅Ρ‚ явного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° привСдСния Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠ°ΠΊ Π² C# ΠΈΠ»ΠΈ Java. ВмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ нСявного привСдСния ΠΈΠ»ΠΈ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния Π½Π° основС старого. Если Ρ‚ΠΈΠΏΡ‹ совмСстимы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, число ΠΊ строкС), ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡŽ автоматичСски ΠΏΡ€ΠΈ присваивании.

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

БСзопасноС присваиваниС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Если...Π’ΠΎΠ³Π΄Π° с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ‚ΠΈΠΏΠ° Ρ‡Π΅Ρ€Π΅Π· Π’ΠΈΠΏΠ—Π½Ρ‡(). Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ мягко, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, записав Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ»ΠΈ вывСдя ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) = Π’ΠΈΠΏ("Число") Π’ΠΎΠ³Π΄Π°

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.РСквизитЧисловой = Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;

Π˜Π½Π°Ρ‡Π΅

ΠžΠ±ΡŠΠ΅ΠΊΡ‚.РСквизитЧисловой = 0; // Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ точности ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌ. ΠŸΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ строки Π² число дробная Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π±Ρ€ΠΎΡˆΠ΅Π½Π° ΠΈΠ»ΠΈ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Π° Π² зависимости ΠΎΡ‚ настроСк Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… стандартов. ВсСгда тСстируйтС ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ значСния ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π°Π±ΠΎΡ‚Π° с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частях

Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ части Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ заполнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² Ρ€Π°Π·Π½Ρ‹Ρ… строках. НапримСр, Π² рСгистрС накоплСния ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ справочником, Π»ΠΈΠ±ΠΎ строкой. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ нСсколько Ρ‚ΠΈΠΏΠΎΠ², Π° Π² ΠΊΠΎΠ΄Π΅ динамичСски Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Π½ΡƒΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ явно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ записываСмого значСния. Если Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Ρ‚ΠΈΠΏΡ‹ БправочникБсылка.НомСнклатура ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Однако Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° число, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частях Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅ строго, ΠΊΠ°ΠΊ ΠΈ Π² шапкС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ записью Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π£Π΄ΠΎΠ±Π½Ρ‹ΠΌ способом Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ являСтся использованиС ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… элСмСнтов ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ². НапримСр, Ссли Ρ‚ΠΈΠΏ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ строку-ΠΌΠ°Ρ€ΠΊΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π­Ρ‚ΠΎ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ТСсткиС ограничСния Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сцСнариях ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИспользованиС Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ услоТняСт написаниС запросов. Π’ языкС запросов 1Π‘ нСльзя Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π±Π΅Π· явного привСдСния, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΏΡ€ΠΈ нСсоотвСтствии Ρ‚ΠΈΠΏΠΎΠ²

Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ситуации, ΠΊΠΎΠ³Π΄Π° Ρ‚ΠΈΠΏ значСния Π½Π΅ соотвСтствуСт ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с внСшними систСмами ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅. Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠΎΠ΄Π° ΠΎΡ‚ падСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Она позволяСт ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ присваивания ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ сцСнарий.

Π’ Π±Π»ΠΎΠΊΠ΅ Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки. Часто Ρ‚Π°ΠΌ содСрТится тСкст «НСвСрный Ρ‚ΠΈΠΏ значСния», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прямо ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ совмСстимости. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… ситуаций ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ администраторам быстро Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ участки Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ошибки Π² ΠΊΠΎΠ΄Π΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ.

НС стоит ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ Π½Π° основной ΠΌΠ΅Ρ‚ΠΎΠ΄ контроля Ρ‚ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ рСсурсоСмкая опСрация, ΠΈ частоС Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π΄ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ присваивания, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

Битуация Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ дСйствиС Риск игнорирования
Π—Π°ΠΏΠΈΡΡŒ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ с ΠΎΠ΄Π½ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ЖСсткая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π’ΠΈΠΏΠ—Π½Ρ‡ ΠΏΠ΅Ρ€Π΅Π΄ записью ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° выполнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· XML/JSON ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ + ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠŸΠΎΡ‚Π΅Ρ€Ρ части Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
Π Π°Π±ΠΎΡ‚Π° с динамичСскими списками ИспользованиС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ НСкоррСктноС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² интСрфСйсС
Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ со сторонним ПО Валидация входящих Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ шлюза Π—Π°ΠΏΠΈΡΡŒ «мусорных» Π΄Π°Π½Π½Ρ‹Ρ… Π² рСгистры
ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ?

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π² 1Π‘ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ создания Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° контСкста ошибки ΠΈ раскрутки стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большС процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ простая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠΎΠΌ НСопрСдСлСно

Π’ΠΈΠΏ значСния НСопрСдСлСно Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ особоС мСсто Π² систСмС Ρ‚ΠΈΠΏΠΎΠ² 1Π‘. Он ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС значСния ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ. НС всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ этот Ρ‚ΠΈΠΏ. Если Π² свойствах ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π³Π°Π»ΠΎΡ‡ΠΊΠ° Β«Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» Π½Π΅ установлСна, любая ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ НСопрСдСлСно ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ двумя способами: ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ НСопрСдСлСно (Ссли Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (пустая строка, пустая ссылка, ноль). Π’Ρ‹Π±ΠΎΡ€ способа зависит ΠΎΡ‚ Π»ΠΎΠ³ΠΈΠΊΠΈ бизнСса. НапримСр, для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π²Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ Β«Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚Β» (НСопрСдСлСно) ΠΈ Β«Π΄Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅Β» (0).

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

πŸ’‘

ВсСгда явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚ΠΈΠΏΠ° «НСопрСдСлСно» Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ссли Π»ΠΎΠ³ΠΈΠΊΠ° вашСго прилоТСния ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ отсутствия значСния Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ всС допустимыС Ρ‚ΠΈΠΏΡ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ?

Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ описаниС ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅() Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΅Π³ΠΎ свойству Π’ΠΈΠΏΡ‹. Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° ОписаниСВипов, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² ΡƒΠΆΠ΅ созданном ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅?

НСт, Ρ‚ΠΈΠΏ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° опрСдСляСтся Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠŸΡƒΡΡ‚Π°ΡΠ‘ΡΡ‹Π»ΠΊΠ° ΠΈ НСопрСдСлСно?

ΠŸΡƒΡΡ‚Π°ΡΠ‘ΡΡ‹Π»ΠΊΠ° β€” это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° «Бсылка», ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. НСопрСдСлСно β€” это отсутствиС значСния любого Ρ‚ΠΈΠΏΠ°. ΠŸΡƒΡΡ‚Π°Ρ ссылка ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ ссылки, Π° НСопрСдСлСно β€” свой собствСнный ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ функция Π’ΠΈΠΏΠ—Π½Ρ‡ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ числа?

Ѐункция Π’ΠΈΠΏΠ—Π½Ρ‡() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ значСния. Число ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ Число, Π½ΠΎ Ссли ΠΎΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΈΠ· внСшнСго источника, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹. Однако для стандартных Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΈΠΏΠΎΠΌ Число.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ПовСдСниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° совмСстимости ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. БвСряйтС синтаксис с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ для вашСй вСрсии.