Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вас ΡƒΠ²Π°ΠΆΠ°Π»ΠΈ Π±Ρ‹Π²Π°Π»Ρ‹Π΅ программисты

Если Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΏΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ.

Π—Π°Ρ‡Π΅ΠΌ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠΎ-особому Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’Π°ΠΌ ΠΏΠΎ-Π»ΡŽΠ±ΠΎΠΌΡƒ придётся ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния языков программирования, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΡŽΠ±Ρ‹ΠΌΠΈ: Ρ…ΠΎΡ‚ΡŒ a, b ΠΈ c, Ρ…ΠΎΡ‚ΡŒ SuperImportantVariable3000. Π’ΠΎ ΠΆΠ΅ с функциями: ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ супСркороткими Ρ‚ΠΈΠΏΠ° yo(), Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нСвСроятно Π·Π°ΠΌΠΎΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ€ΠΎΠ΄Π΅ getNewPageNumberAndNavigateToThatPage(). Как скаТСтС β€” Ρ‚Π°ΠΊ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ‡Ρ‚ΠΎ соврСмСнныС тСкстовыС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Π΄Π΅Π»Π°ΡŽΡ‚ автоподстановку всСх Π½Π°Π·Π²Π°Π½ΠΈΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ придётся ΠΈΡ… Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ.

Но Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°:

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Когда Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΡˆΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Ρƒ тСбя простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½Ρ‹ простыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: screen, score, text ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ становятся слоТнСС, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ всё Π±ΠΎΠ»Π΅Π΅ слоТныС: totalScore, totalScoreBefore, totalScoreAfter, totalScoreMaxProgressiveLimit ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅. Π’ΡƒΡ‚ Π½Π°Π΄ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π²ΠΎΡ‚ ΠΎ Ρ‡Ρ‘ΠΌ.

Π§Π΅ΠΌ Π΄Π»ΠΈΠ½Π½Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‚Π΅ΠΌ тяТСлСС Π΅Ρ‘ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Π±Π΅Π· ошибок. БпасаСт автоподстановка, Π½ΠΎ Ссли Π΅Ρ‘ Π½Π΅Ρ‚ β€” ΠΏΠΎΡ‡Ρ‚ΠΈ навСрняка ваш ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ»Π΅Ρ‚ΠΈΡ‚ ΠΈΠ·-Π·Π° ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ.

Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π° JavaScript, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Ρ‘ Ρ…ΡƒΠΆΠ΅: Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π° Ρ…ΠΎΠ΄Ρƒ, ошибка Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ totalScoreMaxProgresLimit Ρƒ Π½Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π½ΠΈΠΉ. Он создаст Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт с этим Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ, ΠΈ Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” ΠΎΠ΄Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ, другая Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° запустится, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ нСпрСдсказуСмо.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ названия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈ этом понятны Π±Π΅Π· Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ вникания. НапримСр, totalScore β€” ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ счёт Π² ΠΈΠ³Ρ€Π΅, maxWidth β€” максимальная ΡˆΠΈΡ€ΠΈΠ½Π°. Если Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ…, Π² Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… ΠΈΠ»ΠΈ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Ρ‚ΠΎ ΠΏΠ°Ρ‡ΠΊΠ°ΠΌΠΈ, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ понятия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ классов Π² JavaScript β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ.

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Ѐункция β€” это ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ getNumber(), которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ случайноС число Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Π²Π°ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅. Или ΡΠΊΠ°Π·Π°Ρ‚ΡŒ setTimer() β€” ΠΈ Π³Π΄Π΅-Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ установится Ρ‚Π°ΠΉΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ отсчёта Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ просто ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, массив ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ строку тСкста, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π½Π° иностранный язык, ΠΈ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ тСкст.

Π£ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ названия. Но ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌΠΈ:

Π’Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΈΠ· названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° сдСлаСт ΠΈ сообщит Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. НапримСр, getScore() Π²Π΅Ρ€Π½Ρ‘Ρ‚ счёт ΠΈΠ³Ρ€Ρ‹, setScore() задаст счёт ΠΈΠ³Ρ€Ρ‹ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Π΅Ρ€Π½Ρ‘Ρ‚, Π° clearScore() ΠΎΠ±Π½ΡƒΠ»ΠΈΡ‚ счёт ΠΈΠ³Ρ€Ρ‹ ΠΈ Ρ‚ΠΎΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Π΅Ρ€Π½Ρ‘Ρ‚.

А Ρ‡Ρ‚ΠΎ с Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ?

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: camelCase ΠΈ snake_case.

Π’ camelCase ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»Π°, всС Π½ΠΎΠ²Ρ‹Π΅ слова ΠΏΠΈΡˆΡƒΡ‚ΡΡ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ: getMoney, renderToFrame, removeFromBase ΠΈ Ρ‚. Π΄. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ рСкомСндуСтся Π² JavaScript. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: названия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² JavaScript Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ getmoney ΠΈ getMoney β€” это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Snake_case β€” это ΠΊΠΎΠ³Π΄Π° слова ΡΠΊΠ»Π΅ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΆΠ½ΠΈΠΌ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² классах CSS. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: header_marginal, form_success.

Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ языка. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди, ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Π²Π°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ тяТСловато.

Как Π½Π΅ Π½Π°Π΄ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ Π½Π΅ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΡ€Π΅Π°Ρ‚ΠΈΠ²Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ crazyUnicorn ΠΈΠ»ΠΈ wonderfulWorld(). Из Π½Π°Π·Π²Π°Π½ΠΈΠΉ этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ нСпонятно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹.

Но, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, unicornCount β€” Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная с количСством Π΅Π΄ΠΈΠ½ΠΎΡ€ΠΎΠ³ΠΎΠ². А initWorld() β€” функция, которая создаёт ΠΌΠΈΡ€ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹.

НС Π½Π°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ словами function ΠΈΠ»ΠΈ variable. MyVar ΠΈ superFunction() β€” ΠΏΠ»ΠΎΡ…ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ сами ΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ эти ΡˆΡ‚ΡƒΠΊΠΈ Π΄Π΅Π»Π°ΡŽΡ‚.

Π›ΡƒΡ‡ΡˆΠ΅ Π½Π΅ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎ-русски Ρ‚ΠΈΠΏΠ° solnce ΠΈΠ»ΠΈ KYCb() β€” Π·Π°Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΈΡˆΡƒΡ‚ΡΡ. А ΠΊΠΎΠ³Π΄Π° ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° станСт ΠΌΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½ΠΎΠΉ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ поблагодарят вас. ΠŸΡ€ΠΈ этом: Ссли ваша функция Π΄Π΅Π»Π°Π΅Ρ‚ Β«ΠΊΡƒΡΡŒΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π½ΠΈ Π·Π½Π°Ρ‡ΠΈΠ»ΠΎ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ bite() ΠΈΠ»ΠΈ getPiece().

НС Π΄Π΅Π»Π°ΠΉΡ‚Π΅ названия слишком сСкрСтными: ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ p, m, t, z ΠΈΠ»ΠΈ функция hm() β€” это слишком ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ β€” ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ»Ρ‹: Ρ‚Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° i, n, p β€” с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, сколько Ρ€Π°Π· Ρ†ΠΈΠΊΠ» ΡƒΠΆΠ΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π». Но эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ создались, исполнили свою Ρ€ΠΎΠ»ΡŒ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΠ»ΠΈΡΡŒ сразу послС закрытия Ρ†ΠΈΠΊΠ»Π°, большС ΠΊ Π½ΠΈΠΌ Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘Ρ‚ΠΈΠ»ΠΈ имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… всС

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π»Π΅Π³ΠΊΡƒΡŽ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° программисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ стили имСнования для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ИмСнно поэтому Π½Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ «идСального» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Π’Ρ‹Π±ΠΎΡ€ умСстного стиля ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ быстро ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ относится ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅, Π½ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ имя Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ это ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ. ΠœΡ‹ расскаТСм ΠΊΠ°ΠΊΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ сущСствуСт для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ситуаций.

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π΅Π» являСтся Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ символом, поэтому всС названия обходятся Π±Π΅Π· Π½Π΅Π³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ строки Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² всё ΠΆΠ΅ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ СстСствСнный язык ΠΈ Π½ΡƒΠΆΠ½Ρ‹ всС эти кСйсы.

camelCase (dromedaryCase)

КаТдоС слово, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ, начинаСтся с большой Π±ΡƒΠΊΠ²Ρ‹.
ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ для имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков.

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

PascalCase (CamelCase, StudlyCase)

Π’ этом стилС ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слово начинаСтся с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π½Π°Π·Π²Π°Π½ΠΈΠΉ классов.

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

snake_case (pothole_case)

ВмСсто ΠΏΡ€ΠΎΠ±Π΅Π»Π° ставится Π½ΠΈΠΆΠ½Π΅Π΅ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном для ΠΈΠΌΡ‘Π½ ΠΏΠΎΠ»Π΅ΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

SCREAMING_SNAKE_CASE (MACRO_CASE, CONSTANT_CASE)

Π’ΠΎΡ‚ ΠΆΠ΅ snake_case, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Ρ‹ всСгда Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для имСнования констант.

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

kebab-case (dash-case, lisp-case)

Π’ этом случаС ΠΏΡ€ΠΎΠ±Π΅Π» замСняСтся дСфисом. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² URL ΠΈ CSS. Π’ языкС Lisp Ρ‚Π°ΠΊ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π»ΡŽΠ±Ρ‹Π΅ названия. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

TRAIN-CASE (COBOL-CASE, SCREAMING-KEBAB-CASE)

ВсС Π±ΡƒΠΊΠ²Ρ‹ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС, соСдинСны дСфисом. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ Π² языкС COBOL для всСх Π½Π°Π·Π²Π°Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Train-Case (HTTP-Header-Case)

КаТдоС слово с большой Π±ΡƒΠΊΠ²Ρ‹, соСдинСны дСфисом. Π‘Ρ‚ΠΈΠ»ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠΉ HTTP Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

flatcase

ВсС слова Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС, Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚Π΅Π³Π°Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ своСобразная Β«ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ°Β» для Π΄Π°Π½Π½Ρ‹Ρ… с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’ΡƒΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ Ρ€Π°Π·. Π’Π°ΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°ΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· нСсколько мСсяцСв, ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ обозначаСтся Π² ΠΊΠΎΠ΄Π΅. РазбСрёмся, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² JavaScript ΠΈ PHP.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°

Π‘Π΅Π· Π½ΠΈΡ… Π²Ρ‹ просто Π½Π΅ смоТСтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

НазывайтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ имСнования языка

Π’ PHP ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа Π΄ΠΎΠ»Π»Π°Ρ€Π° Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠΌΠ΅Π½ΠΈ.

ВсС ΠΏΡ€Π°Π²ΠΈΠ»Π° Π²Ρ‹ Π½Π°ΠΉΠ΄Ρ‘Ρ‚Π΅ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ языку: для JavaSrcipt β€” это MDN; для PHP β€” php.net.

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°

Π­Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π² языкС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Если Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

УсловныС ΠΏΡ€Π°Π²ΠΈΠ»Π°

БоблюдСниС этих ΠΏΡ€Π°Π²ΠΈΠ» Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Но ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ понятным для вас самих ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠŸΠΎΠ½ΡΡ‚Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°

ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‰ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ окруТности.

Π•Π΄ΠΈΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ написания

Π•ΡΡ‚ΡŒ Π΄Π²Π° основных ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° написания многословных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. НС ΡΠΌΠ΅ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΈΡ… Π² ΠΎΠ΄Π½ΠΎΠΌ скриптС:

ΠžΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ½ΡΡ‚Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹

Π’ сообщСствС ΡƒΡΡ‚ΠΎΡΠ»ΠΈΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°, относящиСся ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ языков. Π˜Ρ… Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, понятный Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ принято Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² зависимости ΠΎΡ‚ содСрТимого:

ИспользованиС этих ΠΏΡ€Π°Π²ΠΈΠ» сдСлаСт ваш ΠΊΠΎΠ΄ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ понятнСС.

Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ, опСрациями, Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ бСсплатно ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π³Π»Π°Π²Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ курса Β«ΠžΡΠ½ΠΎΠ²Ρ‹ JavaScriptΒ».

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Одним ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, являСтся Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. НапримСр, ΠΌΡ‹ Ρ‚Ρ€ΠΈ мСсяца Π½Π°Π·Π°Π΄ написали ΠΊΠΎΠ΄, Π° сСгодня Π½Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΊΠΎΠ΅ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ свойства Ρ‚ΠΎΠ²Π°Ρ€Π°, ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ производитСля.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π»ΠΈΡΡŒ ΠΈ понимались.

1. Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

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

2. Никакого транслита. Волько английский.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠ»ΠΎΡ… транслит? Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ иностранныС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΈ ΠΎΠ½ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠΉΠΌΡƒΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠΌΠ΅Π»ΠΈ Π²Π²ΠΈΠ΄Ρƒ.

Π”Π»ΠΈΠ½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π° английском ΠΊΠΎΡ€ΠΎΡ‡Π΅, Ρ‡Π΅ΠΌ Π½Π° транслитС.

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

3. ЧисловыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠΎΡ‡Ρ‚ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ приняты ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°.

4. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов ΠΏΠΈΡˆΡƒΡ‚ΡΡ вмСстСВотВак

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ способ, называСтся Β«Π²Π΅Ρ€Π±Π»ΡŽΠΆΡŒΠ΅ΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉΒ» ΠΈΠ»ΠΈ, ΠΏΠΎ-английски, Β«camelCaseΒ».

Π’Π°ΠΊ ΠΆΠ΅ часто примСняСтся Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ стандарт, ΠΊΠΎΠ³Π΄Π° нСсколько слов ΠΏΠΈΡˆΡƒΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π·Π½Π°ΠΊ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ подчСркивания.

5. Π‘ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π›ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ для Π±ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ β€” вопрос с ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π΄Π° ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

6. ΠœΠ°ΡΡΠΈΠ²Ρ‹

Π­Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΎ мноТСствСнном числС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Π½Π° s ΠΈ es.

7. ИспользованиС ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для нСбольшого Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π°

8. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

НС стоит Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ свойства ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

9. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ слово Π³Π»Π°Π³ΠΎΠ».

10. Π‘ΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Ρ‹

ΠžΠ±Ρ‰ΠΈΠ΅:

Для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Руководство Google ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ Π² C++. Π§Π°ΡΡ‚ΡŒ 8

Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π€ΠΎΡ‚ΠΎ Как Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

ВсС ΠΌΡ‹ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ оформлСния ΠΊΠΎΠ΄Π°. Иногда ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°ΡŽΡ‚ΡΡ свои ΠΏΡ€Π°Π²ΠΈΠ»Π°, Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ стайлгайды. Π₯отя всС C++ программисты Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ Π½Π° английском Π»Π΅Π³Ρ‡Π΅, Ρ‡Π΅ΠΌ Π½Π° Ρ€ΠΎΠ΄Π½ΠΎΠΌ, приятнСС ΠΈΠΌΠ΅Ρ‚ΡŒ руководство Π½Π° послСднСм.
Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ являСтся ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ части руководства Google ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ Π² C++ Π½Π° русский язык.
Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ (fork Π½Π° github), обновляСмый ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄.

ИмСнованиС

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° стиля кодирования приходятся Π½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ΠΈΠ΄ ΠΈΠΌΠ΅Π½ΠΈ сразу ΠΆΠ΅ (Π±Π΅Π· поиска объявлСния) Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π½Π°ΠΌ Ρ‡Ρ‚ΠΎ это: Ρ‚ΠΈΠΏ, пСрСмСнная, функция, константа, макрос ΠΈ Ρ‚.Π΄. ΠŸΡ€Π°Π²ΠΈΠ»Π° имСнования ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²Π°ΠΆΠ½Π° ΠΈΡ… ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ, ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ.

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ имСнования

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Ρ‚Π°ΠΊΠΆΠ΅ допустимы: i для ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ счётчика, T для ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° шаблона.

Π’ дальнСйшСм ΠΏΡ€ΠΈ описании ΠΏΡ€Π°Π²ΠΈΠ» Β«wordΒ» / «слово» это всё, Ρ‡Ρ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π° английском Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Π² Ρ‚ΠΎΠΌ числС ΠΈ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π’ словС пСрвая Π±ΡƒΠΊΠ²Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ (зависит ΠΎΡ‚ стиля: «camel case» ΠΈΠ»ΠΈ Β«Pascal caseΒ»), ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ β€” строчныС. НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ StartRpc(), Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ StartRPC().

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ шаблона Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ своих ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ: ИмСна Ρ‚ΠΈΠΏΠΎΠ², ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ‚.д…

ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ²

ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, для раздСлСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ (_) ΠΈΠ»ΠΈ дСфис (). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Если Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π½Π΅Ρ‚ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ «_».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ подходящих ΠΈΠΌΡ‘Π½:

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠΌΠ΅Π½Π°, ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² /usr/include, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ db.h.

Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Π°ΠΌ спСцифичныС ΠΈΠΌΠ΅Π½Π°. НапримСр, http_server_logs.h Π»ΡƒΡ‡ΡˆΠ΅ Ρ‡Π΅ΠΌ logs.h. Когда Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠΈ, Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. НапримСр, foo_bar.h ΠΈ foo_bar.cc (ΠΈ содСрТат класс FooBar).

ИмСна Ρ‚ΠΈΠΏΠΎΠ²

ИмСна Ρ‚ΠΈΠΏΠΎΠ² Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с прописной Π±ΡƒΠΊΠ²Ρ‹, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ΅ слово Ρ‚Π°ΠΊΠΆΠ΅ начинаСтся с прописной Π±ΡƒΠΊΠ²Ρ‹. ΠŸΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ: MyExcitingClass, MyExcitingEnum.

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

ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ) ΠΈ Ρ‡Π»Π΅Π½ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΈΡˆΡƒΡ‚ΡΡ строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ с ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ словами. Π§Π»Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… классов (Π½Π΅ структур) Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΈΠΌΠ΅Π½ΠΈ. НапримСр: a_local_variable, a_struct_data_member, a_class_data_member_.

ИмСна ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π§Π»Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… класса

Π§Π»Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… классов, статичСскиС ΠΈ нСстатичСскиС, ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ подчёркивания Π² ΠΊΠΎΠ½Ρ†Π΅.

Π§Π»Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… структуры

Π§Π»Π΅Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… структуры, статичСскиС ΠΈ нСстатичСскиС, ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. К Π½ΠΈΠΌ Π½Π΅ добавляСтся символ подчёркивания Π² ΠΊΠΎΠ½Ρ†Π΅.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ vs ΠšΠ»Π°ΡΡΡ‹, Π³Π΄Π΅ описано ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ структуры, ΠΊΠΎΠ³Π΄Π° классы.

ИмСна констант

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ constexpr ΠΈΠ»ΠΈ const, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ мСнялось Π² процСссС выполнСния. ИмСна констант Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с символа Β«kΒ», Π΄Π°Π»Π΅Π΅ ΠΈΠ΄Ρ‘Ρ‚ имя Π² смСшанном стилС (прописныС ΠΈ строчныС Π±ΡƒΠΊΠ²Ρ‹). ΠŸΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использовано Π² Ρ€Π΅Π΄ΠΊΠΈΡ… случаях ΠΊΠΎΠ³Π΄Π° прописныС Π±ΡƒΠΊΠ²Ρ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для раздСлСния. НапримСр:

ВсС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ константныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ со статичСским Ρ‚ΠΈΠΏΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (Ρ‚.Π΅. статичСскиС ΠΈΠ»ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‚ΡƒΡ‚: Storage Duration) ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅. Π­Ρ‚ΠΎ соглашСниС являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, автоматичСскиС константныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹).

ИмСна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ Π² смСшанном стилС (прописныС ΠΈ строчныС Π±ΡƒΠΊΠ²Ρ‹); Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ доступа ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ (accessor ΠΈ mutator) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° Ρ†Π΅Π»Π΅Π²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ начинаСтся с прописной Π±ΡƒΠΊΠ²Ρ‹ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слово Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ с прописной Π±ΡƒΠΊΠ²Ρ‹.

(АналогичныС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для констант Π² области класса ΠΈΠ»ΠΈ пространства ΠΈΠΌΡ‘Π½ (namespace) ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ‡Π°ΡΡ‚ΡŒ API ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” Π½Π΅ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ))

Accessor-Ρ‹ ΠΈ mutator-Ρ‹ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ get ΠΈ set) ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Они часто ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ-Ρ‡Π»Π΅Π½Π°ΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. НапримСр, int count() ΠΈ void set_count(int count).

ИмСнованиС пространства ΠΈΠΌΡ‘Π½ (namespace)

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΡ‘Π½ называСтся строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ. ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΡ‘Π½ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня основываСтся Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ Π²Π°ΡˆΠΈΡ… ΠΈΠΌΡ‘Π½ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстных, пространств ΠΈΠΌΡ‘Π½.

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΡ‘Π½ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня β€” это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (которая Π΄Π΅Π»Π°Π»Π° ΠΊΠΎΠ΄). Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ) с ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ пространству ΠΈΠΌΡ‘Π½.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ β€” ΠΊ пространствам ΠΈΠΌΡ‘Π½ это Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ. ΠšΠΎΠ΄Ρƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ вряд Π»ΠΈ потрСбуСтся ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ пространства ΠΈΠΌΡ‘Π½, поэтому Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ β€” это лишнСС.

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… пространств ΠΈΠΌΡ‘Π½ извСстныС названия. Коллизии ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·Π°ΠΌ ΠΏΡ€ΠΈ сборкС. Π’ частности, Π½Π΅ создавайтС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… пространств ΠΈΠΌΡ‘Π½ с ΠΈΠΌΠ΅Π½Π΅ΠΌ std. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ΡΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (websearch::index, websearch::index_util) вмСсто нСбСзопасных ΠΊ коллизиям websearch::util.

Для internal / Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… пространств ΠΈΠΌΡ‘Π½ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ…Π΅Π»ΠΏΠ΅Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ свойство ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄). Π’ этом случаС Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ использованиС ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° для имСнования пространства ΠΈΠΌΡ‘Π½. (websearch::index::frobber_internal для использования Π² frobber.h)

ИмСна пСрСчислСний

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ (ΠΊΠ°ΠΊ с ограничСниями Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости (scoped), Ρ‚Π°ΠΊ ΠΈ Π±Π΅Π· (unscoped)) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ константы, Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ макросы. Π’.Π΅.: Π»ΠΈΠ±ΠΎ kEnumName, Π»ΠΈΠ±ΠΎ ENUM_NAME.

ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния Π² пСрСчислитСлС ΠΊΠ°ΠΊ константы. Однако, допустимо ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ макросы. Имя самого пСрСчислСния UrlTableErrors (ΠΈ AlternateUrlTableErrors), это Ρ‚ΠΈΠΏ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ.

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

ИмСна макросов

Π’Ρ‹ вСдь Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ макросы? На всякий случай (Ссли ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ), ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:
MY_MACRO_THAT_SCARES_SMALL_CHILDREN_AND_ADULTS_ALIKE.

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π° ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ макросы; ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, макросы Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Однако, Ссли ΠΎΠ½ΠΈ Π²Π°ΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹, ΠΈΠΌΠ΅Π½ΡƒΠΉΡ‚Π΅ ΠΈΡ… прописными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ с символами подчёркивания.

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ» имСнования

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ C ΠΈΠ»ΠΈ C++ ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎ слСдуйтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌΡƒ Π² ΠΊΠΎΠ΄Π΅ ΡΡ‚ΠΈΠ»ΡŽ.

bigopen()
имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΎΡ‚ open()

uint
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° стандартныС Ρ‚ΠΈΠΏΡ‹

bigpos
struct ΠΈΠ»ΠΈ class, ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΡ‚ pos

sparse_hash_map
STL-подобная ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ; слСдуйтС ΡΡ‚ΠΈΠ»ΡŽ STL

LONGLONG_MAX
константа, такая ΠΆΠ΅ ΠΊΠ°ΠΊ INT_MAX

ΠŸΡ€ΠΈΠΌ.: ссылки ΠΌΠΎΠ³ΡƒΡ‚ вСсти Π½Π° Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ руководства.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *