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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС Π½ΡŽΠ°Π½ΡΡ‹ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π΄ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, Π° Π³Π΄Π΅ допустима Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈ имСнования, принятыми Π² сообщСствС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² 1Π‘.

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡƒΠ»ΠΎΠ²ΠΈΠΌΡ‹ΠΌ ошибкам выполнСния ΠΈΠ»ΠΈ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ ΡƒΡΠ²ΠΎΠΈΡ‚ΡŒ синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ логичСскиС ограничСния, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ контСксты исполнСния ΠΊΠΎΠ΄Π°.

Бинтаксис объявлСния ΠΈ основныС ΠΏΡ€Π°Π²ΠΈΠ»Π°

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

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

Если Π²Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ΠŸΠ΅Ρ€Π΅ΠΌ Π² ΠΎΠ±Ρ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ модуля, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ локальной. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС компиляции"ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°".

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования транслитСрации ΠΈΠ»ΠΈ русских Π±ΡƒΠΊΠ² Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ссли ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ со спСцифичСскими ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, хотя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ UTF-8 ΠΈ ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρƒ Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ….

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксы для имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΈΡ… Ρ‚ΠΈΠΏ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, docΠ‘Ρ‡Π΅Ρ‚ ΠΈΠ»ΠΈ strНаимСнованиС. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ сниТаСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок ΠΏΡ€ΠΈ присваивании нСсовмСстимых Ρ‚ΠΈΠΏΠΎΠ².

Бтрогая ΠΈ динамичСская типизация

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

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… послС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅. НапримСр: ΠŸΠ΅Ρ€Π΅ΠΌ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΠ’ΠΎΠ²Π°Ρ€Π°: Число. ПослС Ρ‚Π°ΠΊΠΎΠ³ΠΎ объявлСния ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ строку ΠΈΠ»ΠΈ Π΄Π°Ρ‚Ρƒ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния. Π­Ρ‚ΠΎ позволяСт ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ логичСскиС ошибки Π΅Ρ‰Π΅ Π½Π° этапС написания ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… подсказок Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

ИспользованиС строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ особСнно ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с коллСкциями Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ слоТными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Когда Π²Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ БправочникБсылка.НомСнклатура, систСма сразу ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ структуру ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, доступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства, Ρ‡Ρ‚ΠΎ ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ сниТаСт риск ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ.

  • πŸ”Ή ДинамичСский Ρ‚ΠΈΠΏ: Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ"Π½Π° Π»Π΅Ρ‚Ρƒ", мСньшС ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ объявлСнии.
  • πŸ”Ή Π‘Ρ‚Ρ€ΠΎΠ³ΠΈΠΉ Ρ‚ΠΈΠΏ: Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°, Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ.
  • πŸ”Ή Π’ΠΈΠΏ"Π›ΡŽΠ±ΠΎΠΉ": Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ любого Π²ΠΈΠ΄Π°, Π°Π½Π°Π»ΠΎΠ³ динамичСского повСдСния Π² строгом Ρ€Π΅ΠΆΠΈΠΌΠ΅.

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

πŸ“Š Какой ΡΡ‚ΠΈΠ»ΡŒ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π² 1Π‘?
Бтрогая типизация всСгда
ДинамичСская для скорости
Π‘ΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄
НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости: Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости β€” Π·Π°Π»ΠΎΠ³ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ‚ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹. Они ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ Π² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅, освобоТдая ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π­Ρ‚ΠΎ самый ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ модуля (Π΄ΠΎ всСх ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ) с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом ΠŸΠ΅Ρ€Π΅ΠΌ. Они доступны для чтСния ΠΈ записи ΠΈΠ· любого мСста Π΄Π°Π½Π½ΠΎΠ³ΠΎ модуля. Π§Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ использованиС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… услоТняСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² любом участкС ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ затрудняСт поиск источника ошибки.

Π’ управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ… сущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ понятиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡ‹. Они ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ привязаны ΠΊ элСмСнтам интСрфСйса ΠΈΠ»ΠΈ слуТат для хранСния ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для отобраТСния. Доступ ΠΊ Π½ΠΈΠΌ осущСствляСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ· событий Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠœΠ΅ΡΡ‚ΠΎ объявлСния Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ВрСмя ΠΆΠΈΠ·Π½ΠΈ
Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Волько Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π”ΠΎ ΠΊΠΎΠ½Ρ†Π° выполнСния ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ (модуля) ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» модуля Π’Π΅ΡΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Пока Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΡ‹ ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ связанныС события Пока ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Ρ„ΠΎΡ€ΠΌΠ°
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π”ΠΎ ΠΊΠΎΠ½Ρ†Π° выполнСния ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ нСзависимыми модулями. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎ ссылкС ΠΈΠ»ΠΈ спСциализированныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ присваиваниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

ПослС объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ 1Π‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ присваивания являСтся Π·Π½Π°ΠΊ равСнства =. Если пСрСмСнная Π½Π΅ Π±Ρ‹Π»Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° явно, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΅ΠΉ присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно (для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²) ΠΈΠ»ΠΈ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², хотя ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° это Π½Π΅ рСкомСндуСтся.

ΠŸΡ€ΠΈ присваивании Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ присваиваниСм ссылки ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Когда Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΠΎΠ²Ρ‹ΠΉΠžΠ±ΡŠΠ΅ΠΊΡ‚ = Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠžΠ±ΡŠΠ΅ΠΊΡ‚, Π²Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ссылку, Π° Π½Π΅ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ИзмСнСниС свойств Ρ‡Π΅Ρ€Π΅Π· Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ ΠΈ исходный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

ΠŸΠ΅Ρ€Π΅ΠΌ Π‘ΡƒΠΌΠΌΠ°Π˜Ρ‚ΠΎΠ³ΠΎ: Число;

ΠŸΠ΅Ρ€Π΅ΠΌ ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ: Π‘Ρ‚Ρ€ΠΎΠΊΠ°;

Π‘ΡƒΠΌΠΌΠ°Π˜Ρ‚ΠΎΠ³ΠΎ = 0;

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ="ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°";

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ присваивания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠŸΡ€ΠΈ присваивании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 1Π‘ копируСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылка. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ копию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠšΠΎΠΏΠΈΡŽ ΠΈΠ»ΠΈ явно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ β€” это особый Π²ΠΈΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π² скобках послС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ.

БущСствуСт Π΄Π²Π° способа ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) ΠΈ ΠΏΠΎ ссылкС (с использованиСм ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Π—Π½Π°Ρ‡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, хотя Π² соврСмСнных вСрсиях 1Π‘ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ссылкС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅Ρ€Π΅Π· Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²). Π’ 1Π‘ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½ΠΎ для ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ°) это эквивалСнтно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

ИспользованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ. ВмСсто ТСстко Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·Π²Π½Π΅. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ тСстированиС ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ΠΊΠΎΠ΄Π° Π² Ρ€Π°Π·Π½Ρ‹Ρ… частях ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

  • πŸš€ ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅, ΠΈΠ½Π°Ρ‡Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка.
  • πŸš€ ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: Π˜ΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅.
  • πŸš€ Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

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

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

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° частая ошибка β€” Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом языка ΠΈΠ»ΠΈ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Π₯отя 1Π‘ позволяСт ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, это сильно Π·Π°ΠΏΡƒΡ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ скрытым Π±Π°Π³Π°ΠΌ. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΈΠΌΠ΅Π½ Π²Ρ€ΠΎΠ΄Π΅ Если, Π’ΠΎΠ³Π΄Π°, Π‘ΡƒΠΌΠΌΠ° (Ссли Π΅ΡΡ‚ΡŒ встроСнная функция с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² контСкстС).

БоблюдСниС соглашСний ΠΏΠΎ имСнованию (Code Style) критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ понятныС ΠΈΠΌΠ΅Π½Π°, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ ΡΡƒΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΎΠ΄Π½ΠΎΠ±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ счСтчиков Ρ†ΠΈΠΊΠ»ΠΎΠ² (Π‘Ρ‡, i), ΠΈ слишком Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… конструкций, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΡΡŽΡ‰ΠΈΡ… восприятиС.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ возмоТности ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Ρ„ΠΈΡ€ΠΌΡ‹"1Π‘" ΠΏΡ€ΠΈ использовании Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π² послСдних вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

πŸ’‘

Чистый ΠΊΠΎΠ΄ начинаСтся с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π˜Π½Π²Π΅ΡΡ‚ΠΈΡ†ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Π½ΠΈΠ΅ имСнования окупаСтся сторицСй ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΈ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

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

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ послС Π΅Ρ‘ объявлСния Π² 1Π‘?

Π”Π°, Ссли пСрСмСнная объявлСна Π±Π΅Π· указания строгого Ρ‚ΠΈΠΏΠ° (Π±Π΅Π· двоСточия ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚ΠΈΠΏΠ°), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Π΅ΠΉ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НапримСр, сначала Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ число, Π° Π·Π°Ρ‚Π΅ΠΌ строку. Если Ρ‚ΠΈΠΏ ΡƒΠΊΠ°Π·Π°Π½ явно, такая опСрация Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠŸΠ΅Ρ€Π΅ΠΌ ΠΈ просто ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹?

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

Как ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½Π° Π²ΠΎ всСх модулях ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ?

Для создания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, доступной глобально Π²ΠΎ всСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ РСгистрБвСдСний с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ΄Π½ΠΈΠΌ рСсурсом, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ модуля (доступно Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ"Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ" ΠΈ экспортируСмыми функциями-Π³Π΅Ρ‚Ρ‚Π΅Ρ€Π°ΠΌΠΈ/сСттСрами).

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚ΠΈΠΏ"НСопрСдСлСно" ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

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

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

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