Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ понимания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… хранится Π² памяти Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C# ΠΈΠ»ΠΈ Java, пСрСмСнная Π² 1Π‘ ΠΌΠΎΠΆΠ΅Ρ‚ динамичСски ΠΌΠ΅Π½ΡΡ‚ΡŒ свой Ρ‚ΠΈΠΏ Π² Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ создаСт риск возникновСния ошибок, Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ становится критичСски Π²Π°ΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€ΠΈ написании Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ значСниями ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников.

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

Базовая функция Π’ΠΈΠΏΠ—Π½Ρ‡ ΠΈ Π΅Ρ‘ особСнности

Π‘Π°ΠΌΡ‹ΠΌ распространСнным ΠΈ историчСски ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ способом опрСдСлСния Ρ‚ΠΈΠΏΠ° являСтся встроСнная функция Π’ΠΈΠΏΠ—Π½Ρ‡(). Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ОписаниСВипов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ значСния. Π­Ρ‚ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ самыС старыС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ИспользованиС этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятно: Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ описаниС Π΅Ρ‘ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с эталонным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

Однако, ΠΏΡ€ΠΈ использовании Π’ΠΈΠΏΠ—Π½Ρ‡ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ спСцификС сравнСния. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ со строкой, содСрТащСй имя Ρ‚ΠΈΠΏΠ°. НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ конструктор Ρ‚ΠΈΠΏΠ° ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ значСния. НапримСр, для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ пСрСмСнная числом, ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ: Если Π’ΠΈΠΏΠ—Π½Ρ‡(ΠœΠΎΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ) = Π’ΠΈΠΏ("Число") Π’ΠΎΠ³Π΄Π°. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ сравнСния, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ ошибки, связанныС с рСгистром ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°ΠΌΠΈ Π² названиях Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

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

πŸ’‘

Для быстрой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ панСль "Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅" ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π’ΠΈΠΏΠ—Π½Ρ‡(Π˜ΠΌΡΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ) β€” это ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ Π±Π΅Π· измСнСния ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Π°ΠΆΠ½Ρ‹ΠΌ нюансом являСтся ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ значСния НСопрСдСлСно. Π’ этом случаС Π’ΠΈΠΏΠ—Π½Ρ‡ Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΈΠΏ НСопрСдСлСно, Ρ‡Ρ‚ΠΎ позволяСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ситуации ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с рСкурсивными Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, приходящих ΠΈΠ· COM-соСдинСний, Π³Π΄Π΅ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ явно Π½Π΅ Π·Π°Π΄Π°Π½. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΎΠ³ΠΎ состояния ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с ошибкой "ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½".

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· Π’ΠΈΠΏΡ‹ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

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

ИспользованиС ОписаниСВипов ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ возмоТности для слоТной Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ, Π½ΠΎ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ограничСния: Π΄Π»ΠΈΠ½Ρƒ строки, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для числа, допустимыС значСния для пСрСчислСний. Π₯отя основная Π·Π°Π΄Π°Ρ‡Π° этой ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ°, стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ позволяСт сразу ΠΎΡ‚ΡΠ΅ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, экономя рСсурсы Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π’ΠΈΠΏΠ—Π½Ρ‡()
ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π’ΠΈΠΏ
ОписаниСВипов
ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠΎΠ² Π² 1Π‘ выполняСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ созданы Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° обСспСчиваСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΊΠ°Π½ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ², поэтому Π’ΠΈΠΏ("Число") Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ Новый Π’ΠΈΠΏ("Число"). Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ refactor-ΠΈΡ‚ΡŒ старыС участки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, замСняя строковыС константы Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠΎΠ², Π½Π΅ боясь ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ сравнСния. Однако, созданиС Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ всС ΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Π΅ΠΌ использованиС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… констант Ρ‚ΠΈΠΏΠΎΠ².

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄ контроля

Иногда ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ трСбуСтся Π½Π΅ для Π»ΠΎΠ³ΠΈΠΊΠΈ вСтвлСния, Π° для прСдотвращСния Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ... Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ основан Π½Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ "Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ прощСния, Ρ‡Π΅ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ". Π’Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎΠ΅ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈ Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка, Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‚ΠΈΠΏ Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ эффСктивнСС мноТСствСнных ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, Ссли Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ дСйствиС выполняСтся Ρ€Π΅Π΄ΠΊΠΎ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ€Π°ΠΉΠ»Ρ‹(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° Π₯ранилищСЗначСния ΠΈΠ»ΠΈ ΠšΠ°Ρ‚Π°Π»ΠΎΠ³Π€Π°ΠΉΠ»ΠΎΠ². ВмСсто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Π²Ρ‹ сразу Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°. Если пСрСмСнная содСрТит, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‚Ρ€ΠΎΠΊΡƒ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° сгСнСрируСт ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚Π΅ Π² Π±Π»ΠΎΠΊΠ΅ Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ этого Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сообщСниС Π² ΠΆΡƒΡ€Π½Π°Π» рСгистрации ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИспользованиС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ для контроля ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ считаСтся ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ, Ссли ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ часто. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π² 1Π‘ рСсурсоСмок. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π΅Π΄ΠΊΠΈΡ…, нСстандартных ситуаций ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними источниками Π΄Π°Π½Π½Ρ‹Ρ…, Π³Π΄Π΅ Ρ‚ΠΈΠΏ Π·Π°Ρ€Π°Π½Π΅Π΅ нСпрСдсказуСм.

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° β€” отсутствиС нСобходимости Π·Π½Π°Ρ‚ΡŒ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π·Π°Ρ€Π°Π½Π΅Π΅. Π’Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ лишь Ρ‚ΠΎ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ интСрфСйс ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Π΅Ρ‚ ΡΡ‚ΠΈΠ»ΡŒ программирования Π² 1Π‘ ΠΊ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ "ΡƒΡ‚ΠΈΠ½ΠΎΠΉ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ", распространСнной Π² скриптовых языках. Однако, Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ошибки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скрыты Π·Π° ΠΎΠ±Ρ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

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

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ
Π’ΠΈΠΏΠ—Π½Ρ‡() Высокая БрСдняя Низкая (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ совпадСниС)
ОписаниСВипов БрСдняя Высокая Высокая (списки Ρ‚ΠΈΠΏΠΎΠ², ограничСния)
ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Низкая (ΠΏΡ€ΠΈ ошибкС) Низкая Высокая (ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° повСдСния)
Π‘Ρ‚Ρ€ΠΎΠΊΠ°() (ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅) Высокая Высокая Низкая (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ)

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ сущСствуСт. Для высоконагруТСнных процСссов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’ΠΈΠΏΠ—Π½Ρ‡ ΠΈΠ»ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ созданныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π’ΠΈΠΏ. Для скриптов ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ОписаниСВипов. ΠœΠ΅Ρ‚ΠΎΠ΄ с ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ стоит ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ для ΠΏΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Ρ… случаСв взаимодСйствия с внСшним ΠΌΠΈΡ€ΠΎΠΌ.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ упоминания заслуТиваСт ΠΌΠ΅Ρ‚ΠΎΠ΄ привСдСния ΠΊ строкС Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€ΠΎΠΊΠ°(). Π₯отя ΠΎΠ½ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для логичСских ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π² Π±ΠΎΠ΅Π²ΠΎΠΌ ΠΊΠΎΠ΄Π΅, ΠΎΠ½ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. Π’Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ»ΠΈ Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ» часто ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Однако ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° строковоС прСдставлСниС Ρ‚ΠΈΠΏΠ° Π² условиях Если Π½Π΅ рСкомСндуСтся ΠΈΠ·-Π·Π° зависимости ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈ ΠΈ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π Π°Π±ΠΎΡ‚Π° со слоТными ΠΈ составными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ

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

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

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° составного Ρ‚ΠΈΠΏΠ°

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

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

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с коллСкциями Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Массив, Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈΠ»ΠΈ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ часто дополняСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ содСрТимого. УбСдившись, Ρ‡Ρ‚ΠΎ пСрСмСнная являСтся Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого этапа ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π²Π΅Ρ€Π½ΠΎ.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

НСсмотря Π½Π° ΠΊΠ°ΠΆΡƒΡ‰ΡƒΡŽΡΡ простоту, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Ρ‚ΠΈΠΏΠΎΠ². Одна ΠΈΠ· самых частых β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π’ΠΈΠΏΠ—Π½Ρ‡ со строкой Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π­Ρ‚ΠΎ всСгда Π²Π΅Ρ€Π½Π΅Ρ‚ Π›ΠΎΠΆΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… классов. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ конструктор Π’ΠΈΠΏ() ΠΈΠ»ΠΈ сохраняйтС эталонный Ρ‚ΠΈΠΏ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ сравнСниСм. Π­Ρ‚ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ ΠΎΡ‚ часов ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ "нСпонятного" повСдСния ΠΊΠΎΠ΄Π°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ значСния НСопрСдСлСно. МногиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная всСгда ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°. Однако ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними источниками ΠΈΠ»ΠΈ слоТной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ вСтвлСния пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ пустой. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ явной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° НСопрСдСлСно ΠΏΠ΅Ρ€Π΅Π΄ основной ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ‚ΠΈΠΏΠ° Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ робастным. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для Π²Π΅Π±-сСрвисов ΠΈ HTTP-запросов, Π³Π΄Π΅ ΠΎΡ‚Π²Π΅Ρ‚ сСрвСра ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠ° ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ значСния. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΈΠΏΠ° Число, Π½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Null (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах) ΠΈΠ»ΠΈ 0, Ρ‡Ρ‚ΠΎ логичСски ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдопустимо. ВсСгда ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠ° с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π½Π° пустоту ΠΈΠ»ΠΈ допустимый Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½.

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

Π‘Π΅ΠΊΡ€Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Если Π²Ρ‹ провСряСтС Ρ‚ΠΈΠΏ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ большой Ρ‚Π°Π±Π»ΠΈΡ†Π΅, вынСситС созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’ΠΈΠΏ ΠΈΠ»ΠΈ ОписаниСВипов Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ ускорит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² Ρ€Π°Π·Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ конструктор Ρ‚ΠΈΠΏΠ° β€” тяТСлая опСрация.

НаконСц, стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Если ваша функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Ρ‚ΠΈΠΏ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ это Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ ΠΊΠΎΠ΄Ρƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ стандартныС Ρ‚Π΅Π³ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ 1Π‘, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ допустимы. Π­Ρ‚ΠΎ сниТаСт ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ систСмы ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ошибки ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ использовании вашСго ΠΊΠΎΠ΄Π° ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ.

МоТно Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π΅Π· использования ΠΊΠΎΠ΄Π°?

Π”Π°, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° (F10/F11) Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ навСсти курсор Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ панСль "Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅". Π’Π°ΠΌ отобразится Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΅Π³ΠΎ Ρ‚ΠΈΠΏ. Π’Π°ΠΊΠΆΠ΅ Π² ΠΎΠΊΠ½Π΅ "ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€" ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΅Ρ‘ Ρ‚ΠΈΠΏΠ° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ пошаговом Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’ΠΈΠΏΠ—Π½Ρ‡ ΠΈ Π’ΠΈΠΏ?

Π’ΠΈΠΏΠ—Π½Ρ‡() β€” это функция, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ Ρ‚ΠΈΠΏ. Π’ΠΈΠΏ() β€” это конструктор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ строку с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Число") ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ описания этого Ρ‚ΠΈΠΏΠ°. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΏΠ°Ρ€Π΅: Π’ΠΈΠΏΠ—Π½Ρ‡(А) = Π’ΠΈΠΏ("Число").

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ пСрСмСнная являСтся ссылкой Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ справочник?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ строковоС прСдставлСниС Ρ‚ΠΈΠΏΠ° с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. НапримСр: Если Π’ΠΈΠΏΠ—Π½Ρ‡(Бсылка) = Π’ΠΈΠΏ("БправочникБсылка.НомСнклатура") Π’ΠΎΠ³Π΄Π°. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ имя справочника ΡƒΠΊΠ°Π·Π°Π½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ зарСгистрировано Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для НСопрСдСлСно?

Ѐункция Π’ΠΈΠΏΠ—Π½Ρ‡(НСопрСдСлСно) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ НСопрСдСлСно. Если Π²Ρ‹ сравниваСтС Π΅Π³ΠΎ с Ρ‚ΠΈΠΏΠΎΠΌ Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΈΠ»ΠΈ Число, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π›ΠΎΠΆΡŒ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ явно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ условиС Если Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ(ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ) Π’ΠΎΠ³Π΄Π°... ΠΈΠ»ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с Π’ΠΈΠΏ("НСопрСдСлСно").

ВлияСт Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…?

НСт, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ происходит Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Она Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ SQL-запросов ΠΊ Π‘Π£Π‘Π” ΠΈ Π½Π΅ влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π½ΠΎ влияСт Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΊΠΎΠ΄Π° процСссором.