ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΡΠ²Π°ΠΆΠ°Π»ΠΈ Π±ΡΠ²Π°Π»ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ
ΠΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΏΠΎΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΡ ΡΡΠ°ΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ.
ΠΠ°ΡΠ΅ΠΌ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎ-ΠΎΡΠΎΠ±ΠΎΠΌΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
ΠΠ°ΠΌ ΠΏΠΎ-Π»ΡΠ±ΠΎΠΌΡ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΊΠ°ΠΊ-ΡΠΎ Π½Π°Π·Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΡΡΠΈ Π»ΡΠ±ΡΠΌΠΈ: Ρ ΠΎΡΡ 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
ΠΡΠΈΠΌ.: ΡΡΡΠ»ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π²Π΅ΡΡΠΈ Π½Π° Π΅ΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½Π½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°.