ΠΊΠ°ΠΊ выглядит ΠΊΠΎΠ΄ Π½Π° языкС программирования

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый ΠΈ красивый ΠΊΠΎΠ΄

Каким Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ качСствСнный ΠΊΠΎΠ΄? Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π²Ρ‹Ρ€Π°Π·ΠΈΠ» это нСвСроятно Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° сказал: «ЕдинствСнная адСкватная ΠΌΠ΅Ρ€Π° качСства ΠΊΠΎΠ΄Π° β€” это количСство восклицаний Β«ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‡Ρ‘Ρ€Ρ‚Π°!Β» Π² ΠΌΠΈΠ½ΡƒΡ‚ΡƒΒ».

ΠΊΠ°ΠΊ выглядит ΠΊΠΎΠ΄ Π½Π° языкС программирования. 36057d4360f3dc0135312b6c4669e728. ΠΊΠ°ΠΊ выглядит ΠΊΠΎΠ΄ Π½Π° языкС программирования Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ выглядит ΠΊΠΎΠ΄ Π½Π° языкС программирования-36057d4360f3dc0135312b6c4669e728. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ выглядит ΠΊΠΎΠ΄ Π½Π° языкС программирования. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 36057d4360f3dc0135312b6c4669e728. Каким Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ качСствСнный ΠΊΠΎΠ΄? Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π²Ρ‹Ρ€Π°Π·ΠΈΠ» это нСвСроятно Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° сказал: «ЕдинствСнная адСкватная ΠΌΠ΅Ρ€Π° качСства ΠΊΠΎΠ΄Π° β€” это количСство восклицаний Β«ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‡Ρ‘Ρ€Ρ‚Π°!Β» Π² ΠΌΠΈΠ½ΡƒΡ‚ΡƒΒ».

ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ эту идСю.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я Ρ‡ΠΈΡ‚Π°ΡŽ Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄, Π²ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ мысли приходят ΠΌΠ½Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ:

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

ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ написанию чистого ΠΊΠΎΠ΄Π° β€” это тяТёлая Ρ€Π°Π±ΠΎΡ‚Π°. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Π² Π½Π΅Ρ‘ Π½Π΅ΠΌΠ°Π»ΠΎ сил. Π’Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ, Π½Π° этом ΠΏΡƒΡ‚ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ стопорится, ΠΊΠΎΠ³Π΄Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ получаСтся, Π½ΠΎ это вас ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ β€” шаг Π·Π° шагом Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Ρƒ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ всё снова ΠΈ снова Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΠΎΠΊΠ° всё Π½Π΅ окаТСтся Ρ‚Π°ΠΊΠΈΠΌ, ΠΊΠ°ΠΊΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. ΠžΠ±Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ здСсь Π½Π΅Ρ‚.

Π’ΠΎΡ‚ нСсколько ΠΈΠ΄Π΅ΠΉ, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ смоТСтС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒΡΡ Π½Π° ΠΏΡƒΡ‚ΠΈ освоСния искусства написания чистого ΠΈ красивого ΠΊΠΎΠ΄Π°.

ИмСна

ΠšΠ΅Π½Π΄Ρ€ΠΈΠΊ Π›Π°ΠΌΠ°Ρ€ ΠΊΠ°ΠΊ-Ρ‚ΠΎ сказал: «Если я ΡΠΎΠ±Π΅Ρ€ΡƒΡΡŒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, я Π½Π°Ρ‡Π½Ρƒ Π΅Ρ‘ с ΠΌΠΎΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈΒ».

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

Имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Π΄Π°Ρ‘Ρ‚Π΅ сущности, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Π΅Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. Π’Ρ‹Π±ΠΎΡ€ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΈΠΌΡ‘Π½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ позволяСт ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° страсти Π½Π°ΠΊΠ°Π»ΡΡŽΡ‚ΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ удСляйтС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°ΠΌ, Π° Ссли Π²Π°ΠΌ удаётся Π½Π°ΠΉΡ‚ΠΈ имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ справляСтся с Π²ΠΎΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° Π½Π΅Π³ΠΎ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ β€” Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. Π›ΡŽΠ±ΠΎΠΉ, ΠΊΡ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ваш ΠΊΠΎΠ΄, Π±ΡƒΠ΄Π΅Ρ‚ Π²Π°ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π·Π° вашС Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ.

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

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

Одна функция β€” ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π°

Луис Π‘Π°Π»Π»ΠΈΠ²Π°Π½ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ сказал Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ: Β«Π€ΠΎΡ€ΠΌΠ° слСдуСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ».

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

Π•ΡΡ‚ΡŒ всСго Π΄Π²Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° написания чистых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

БмСшиваниС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ всСгда сильно сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ ΠΈ Π²Π΅Π΄Ρ‘Ρ‚, со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΊ появлСнию ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ. ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ программисты видят Π² функциях Π½Π΅Ρ‡Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ историй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚.

Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΈ языка программирования для создания чистых, Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΡ… ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌΠΈ возмоТностями Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΈ ΠΏΡ€Π°Π²Π΄Π°, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ рассказчиками историй.

Код ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Π’ΠΎΡ‚ интСрСсноС наблюдСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сдСлала Винус Уильямс: «ВсС Π΄Π΅Π»Π°ΡŽΡ‚ собствСнныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π’Π°ΠΊ Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ слухи».

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС β€” это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π·Π»ΠΎ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Они Π½Π΅ всСгда β€” Π·Π»ΠΎ, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв это Ρ‚Π°ΠΊ. Π§Π΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” Ρ‚Π΅ΠΌ слоТнСС становится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии. МногиС программисты запятнали свою Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π² Ρ…ΠΎΠ΄Π΅ развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², пСрСстали ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠ΄ΠΎΠΌ.
Код мСняСтся ΠΈ развиваСтся. Π‘Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ. А ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ β€” ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

ВсСгда ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ чистый ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ слоТного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ имССтся мноТСство пояснСний. НС Ρ‚Ρ€Π°Ρ‚ΡŒΡ‚Π΅ врСмя Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ созданный Π²Π°ΠΌΠΈ бСспорядок, Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ врСмя навСдСнию порядка Π² ΠΊΠΎΠ΄Π΅.

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ форматирования

Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Ρ‚ΠΈΠ»: Β«Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ являСтся ΠΏΠ΅Ρ€Π²ΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Β».

Полагаю, нСльзя Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ эту идСю. Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° β€” это ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… характСристик ΠΏΠΎ-настоящСму Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ программирования.

ΠžΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ β€” это ΠΎΠΊΠ½ΠΎ Π² ваш Ρ€Π°Π·ΡƒΠΌ. ΠœΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй нашСй Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ, Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΊ дСталям ΠΈ ΡΡΠ½ΠΎΡΡ‚ΡŒΡŽ мысли. Но Ссли Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄, Π²ΠΈΠ΄ΠΈΡ‚ бСспорядочныС нагромоТдСния конструкций, ΠΌΠ΅ΡˆΠ°Π½ΠΈΠ½Ρƒ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Π½ΠΈ Π½Π°Ρ‡Π°Π»Π°, Π½ΠΈ ΠΊΠΎΠ½Ρ†Π°, это Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ бросаСт Ρ‚Π΅Π½ΡŒ Π½Π° Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π°. Π’ этом Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… сомнСний.

Если Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ самоС Π³Π»Π°Π²Π½ΠΎΠ΅ для ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€” это Β«ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°Β», это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ‚ истины. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», созданный сСгодня, Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅Π»ΠΈΠ·Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ воздСйствиС Π½Π° всё Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌ происходит, с самого Π½Π°Ρ‡Π°Π»Π° Π΅Π³ΠΎ сущСствования.

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

Π‘Π½Π°Ρ‡Π°Π»Π° β€” try-catch-finally, ΠΏΠΎΡ‚ΠΎΠΌ β€” всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅

Π–ΠΎΡ€ΠΆ КангилСм сдСлал Π²Π΅Ρ€Π½ΠΎΠ΅ наблюдСниС, ΠΊΠΎΠ³Π΄Π° сказал: Β«Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ свойствСнно ΠΎΡˆΠΈΠ±Π°Ρ‚ΡŒΡΡ, ΡƒΠΏΠΎΡ€ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ошибкС β€” Π΄Π΅Π»ΠΎ дьявола».

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

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

Один ΠΈΠ· способов качСствСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании Π±Π»ΠΎΠΊΠΎΠ² try-catch-finally. Π’ Π½ΠΈΡ… Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ сбойныС мСста, ΠΈ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок. Π­Ρ‚ΠΈ Π±Π»ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС ΠΊΠ°ΠΊ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… областСй видимости Π² ΠΊΠΎΠ΄Π΅. Когда ΠΊΠΎΠ΄ выполняСтся Π² Π±Π»ΠΎΠΊΠ΅ try, это ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄, Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒΡΡ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒΡΡ Π² Π±Π»ΠΎΠΊΠ΅ catch.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈ try-catch-finally Π² самом Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π­Ρ‚ΠΎ, Π² частности, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Π΅Π³ΠΎ ΠΎΡ‚ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈ этом Π½Π΅Π²Π°ΠΆΠ½ΠΎ, выполнится Π»ΠΈ ΠΊΠΎΠ΄ Π±Π΅Π· ошибки, ΠΈΠ»ΠΈ Π²ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΌ Π² Π±Π»ΠΎΠΊ try, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ сбой.

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

Π˜Ρ‚ΠΎΠ³ΠΈ

Как Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ, Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π² Π΄Π²ΡƒΡ… словах, всё Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ? ΠžΡ‚Π²Π΅Ρ‚ Π½Π° это вопрос β€” Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «чувство ΠΊΠΎΠ΄Π°Β». Π­Ρ‚ΠΎ, Π² ΠΌΠΈΡ€Π΅ программирования, эквивалСнт Π·Π΄Ρ€Π°Π²ΠΎΠ³ΠΎ смысла.

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎΠ± этом Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½: Β«Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ мноТСство ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ², Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Ρ‘Π½Π½Ρ‹ΠΌ усСрдным Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ чувством «чистоты». ΠšΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ здСсь ΠΈΠ³Ρ€Π°Π΅Ρ‚ чувство ΠΊΠΎΠ΄Π°. Одни с этим чувством Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π­Ρ‚ΠΎ чувство Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ позволяСт ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ, Π½ΠΎ ΠΈ дСмонстрируСт ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ примСнСния Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² для прСобразования ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² чистый ΠΊΠΎΠ΄Β». По ΠΌΠ½Π΅ β€” Ρ‚Π°ΠΊ это Π·ΠΎΠ»ΠΎΡ‚Ρ‹Π΅ слова.

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, ΠΏΠΈΡˆΡƒΡ‰ΠΈΠΉ чистый ΠΊΠΎΠ΄ β€” это Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊ. Он способСн ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ пустой экран Π² элСгантноС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ искусства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π΄ΠΎΠ»Π³ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹.

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ нашСго Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π° ΠΎ чистом ΠΊΠΎΠ΄Π΅ вспомним слова Π“Π°Ρ€ΠΎΠ»ΡŒΠ΄Π° АбСльсона: Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Ρ‡ΠΈΡ‚Π°Π»ΠΈ люди, ΠΈ лишь Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ β€” для выполнСния машиной».

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! КакиС ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ качСства собствСнного ΠΊΠΎΠ΄Π°?

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с нуля

Данная ΡΡ‚Π°Ρ‚ΡŒΡ описываСт основныС конструкции Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Но ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ описываСт всС Π½ΡŽΠ°Π½ΡΡ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ. Если ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… всС, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠ΄Π½ΠΎ ΠΈ нСпонятно.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ си-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ синтаксис, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ языку си, Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ особСнности ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… языков, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ Π½Π° синтаксис Π±ΠΎΠ»Π΅Π΅ высокоуровнСвых языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π·Π° нас. А ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ синтаксис языка Java. Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ ΠΊΠ°Ρ‚.

Двоичная систСма счислСния

Числа Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния состоят всСго ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°ΠΊΠΎΠ². Нуля ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. 00000001 – число ΠΎΠ΄ΠΈΠ½. 00000010 – число Π΄Π²Π°. 00000100 – число 4. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Π° смСщаСтся Π²Π»Π΅Π²ΠΎ, число увСличиваСтся Π² Π΄Π²Π° Ρ€Π°Π·Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ число 3, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ 00000011. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ числа. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ использовали Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число с восСмью Π·Π½Π°ΠΊΠ°ΠΌΠΈ, ΠΈΠ½Π°Ρ‡Π΅ говоря число Π²ΠΎΡΡŒΠΌΠΈΡ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΠ΅. Π§Π΅ΠΌ большС Ρƒ числа разрядов, Ρ‚Π΅ΠΌ большСС ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, Π²ΠΎΡΡŒΠΌΠΈΡ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΠ΅ число Π²ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 255, Ссли ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ноль, Ρ‚ΠΎΠ³Π΄Π° 256, Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ноль считаСтся всСгда. Если ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ разряд Π½Π° ΠΎΠ΄ΠΈΠ½, получится дСвятиразрядноС число ΠΈ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ увСличится Π² Π΄Π²Π° Ρ€Π°Π·Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ станСт 512. Но Ρ‚Π°ΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ дСлаСтся ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ каТдая ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ увСличиваСтся Π²Π΄Π²ΠΎΠ΅. Один разряд, ΠΏΠΎΡ‚ΠΎΠΌ 2 разряда, ΠΏΠΎΡ‚ΠΎΠΌ 4 разряда, ΠΏΠΎΡ‚ΠΎΠΌ 8 разрядов, ΠΏΠΎΡ‚ΠΎΠΌ 16 разрядов, ΠΏΠΎΡ‚ΠΎΠΌ 32 разряда ΠΈ Π΄Π°Π»Π΅Π΅.

ШСстнадцатСричная систСма счислСния

Всё Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вмСсто Π½ΡƒΠ»Π΅ΠΉ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ† ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΎΡ‚ 0 Π΄ΠΎ 15. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, Π³Π΄Π΅ A – 10, B – 11, C – 12, D – 13, E – 14, F – 15.

Π—Π½Π°ΠΊ минус Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

Π‘ΡƒΠΊΠ²Ρ‹ ΠΈ Π·Π½Π°ΠΊΠΈ

Π‘ΡƒΠΊΠ²Ρ‹, Π·Π½Π°ΠΊΠΈ, смайлики ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ числами. Π‘ΡƒΠΊΠ²Π° А ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ числом 00000001 ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ чисСл Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ символов. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΌΠ½ΠΎΠ³ΠΎ.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ЧисловыС, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 233, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅. ΠΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π΅Π·Π΄Π΅ int, ΠΎΡ‚ слова integer. Π‘ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 198,76, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π΅Π·Π΄Π΅ float. Π£ Π±ΡƒΠΊΠ² Ρ‚ΠΈΠΏ char, Ρƒ строк Ρ‚ΠΈΠΏ String. Π’ΠΈΠΏ bool ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° значСния – истина (true) ΠΈ лоТь (false). Π£ этого Ρ‚ΠΈΠΏΠ° рСализация Π² Ρ€Π°Π·Π½Ρ‹Ρ… языках разная, Π½ΠΎ самая простая, ΠΊΠΎΠ³Π΄Π° ноль β€” Π·Π½Π°Ρ‡ΠΈΡ‚ лоТь, Π° любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число истину. НСстандартныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ числа с фиксированной запятой, Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ числа Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚.

Π­Ρ‚ΠΎ стандартноС объявлСниС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

Π‘Π½Π°Ρ‡Π°Π»Π° пишСм Ρ‚ΠΈΠΏ, ΠΏΠΎΡ‚ΠΎΠΌ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нашСго числа. ВсСгда Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅ΠΌ нашС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π΄Π° ΠΈ любоС, Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎ Π΅Ρ‘ ΠΈΠΌΠ΅Π½ΠΈ.

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ присвоили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ = Π·Π½Π°Ρ‡ΠΈΡ‚ Π²Π·ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ справа ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ слСва. = β€” это Π·Π½Π°ΠΊ/ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присвоСния.

МоТно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ объявлСниС ΠΈ присвоСниС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сразу ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π‘ΡƒΠΊΠ²Ρ‹ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ, строки Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ. Числа Ρ‚ΠΈΠΏΠ° int Π½Π΅ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ.

К числам с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ точности Π² ΠΊΠΎΠ½Ρ†Π΅ добавляСтся f.

К числам с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ добавляСтся.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ‹ записали нашС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ слоТСния,

получаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Но Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ присваиваСтся, ΠΎΠ½ΠΎ исчСзаСт. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присвоСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ описан Π²Ρ‹ΡˆΠ΅.
ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ Π΅Ρ‰Ρ‘ Ρ€Π°Π·. Он Π±Π΅Ρ€Ρ‘Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ со своСй ΠΏΡ€Π°Π²ΠΎΠΉ стороны ΠΈ присваиваСт Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Π»Π΅Π²ΠΎΠΉ сторонС. Π­Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ =, ΠΈ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ со Π·Π½Π°ΠΊΠΎΠΌ Ρ€Π°Π²Π½ΠΎ ΠΈΠ· ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

Π’Π°ΠΊΠΆΠ΅ Ρƒ нас Π΅ΡΡ‚ΡŒ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ (большС),

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

ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

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

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ совСтов Π² Ρ‚ΠΎΠΏΠΈΠΊΠ΅ β€” Π²Ρ‹Ρ€Π΅Π·ΠΊΠΈ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ МакконнСлла Β«Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄Β» (Steve McConnell β€” Β«Code CompleteΒ»).

ΠœΠ½ΠΎΠ³ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ статистичСскиС исслСдования ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ срСднСстатистичСский программист ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ Π΅Π³ΠΎ написаниСм. Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ слоТнСС, Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ. ОсобСнно Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ‡ΡƒΠΆΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Но Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ сСбС ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, Ссли ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ качСствСнным, понятным. β€œΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ кода” довольно ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² сСбя достаточно ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… аспСктов, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ интСрфСйсов классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², рСализация ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ взаимодСйствиС классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΈ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°, имСнованию классов, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, принятыС Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Ноль: строго слСдуйтС code style Β«Π³Π°ΠΉΠ΄Π°ΠΌΒ», принятым Π² вашСй ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ срСдС.

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΉ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ

Π­Ρ‚Π° Ρ†Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Π° Π² Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ: ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” getΠ‘urrentUser(). Π Π°Π·ΠΌΡ‹Ρ‚ΠΎΠ΅, Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠ΅ имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ‡Π°Ρ‰Π΅ всСго являСтся
Π³Π»Π°Π²Π½Ρ‹ΠΌ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ Π΅Π³ΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Customer::getFullName() – ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° UserMapper::createAndGetUser(userId) – ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π² контСкстС User-ΠΌΠ°ΠΏΠΏΠ΅Ρ€Π° побочная Ρ€ΠΎΠ»ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ вновь созданный user-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚) достаточно ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°.

MonthRevenue.calculate(), MonthRevenue.export() – Π½Π΅ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ сами ΠΏΠΎ сСбС ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ достаточными Π² контСкстС ООП Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Β«Π½Π° сСбя» (Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ·Π²Π°Π½ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ дСйствиС Π½Π°Π΄ Π²Ρ‹Π·Π²Π°Π²ΡˆΠΈΠΌ Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠ»ΠΎΡ…ΠΈΡ… ΠΈΠΌΠ΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

computeMonthRevenueAndDoExport() – нСсколько нСсвязанных Ρ†Π΅Π»Π΅ΠΉ
processInput(), handleCalculation() – Π½Π΅Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΎΡΡ‚ΡŒ Ρ†Π΅Π»ΠΈ
ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

setMonthExchangeRate(month, exchangeRate)
getCustomerMonthRevenue(customerId, month)

monthRevenue = fixedValue * 0.6 / inputParam

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ

Π‘ΡƒΡ‚ΡŒ этого совСта проста – любая пСрСмСнная Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ понятноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΡƒΠ΄ΠΈΡ‚ΡŒ
ΠΎ Π΅Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ. БСссмыслСнных ΠΈ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… стоит ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ. Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, Π° Π½Π΅ Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° языкС программирования. ΠŸΡ€ΠΎΡ‰Π΅ всСго словами ΠΏΡ€ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΈ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ словами.

УмСрСнная Π΄Π»ΠΈΠ½Π°

НазваниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ слишком ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ людСй, Π½ΠΎ Π² это ΠΆΠ΅ врСмя ΠΎΠ½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΈ слишком Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это нСкрасиво с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния чтСния ΠΊΠΎΠ΄Π°. Π”Π»ΠΈΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ достаточной, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»ΠΎΠΌΠ°Ρ‚ΡŒ Π³ΠΎΠ»ΠΎΠ²Ρƒ.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹

Π’ ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСцификаторы Count ΠΈ Index вмСсто Num. Π­Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (количСство ΠΈ Π½ΠΎΠΌΠ΅Ρ€), Π° Π²ΠΎΡ‚ Num выглядит достаточно двусмыслСнно ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ввСсти Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅.

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ²

Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° нСбольшой Ρ†ΠΈΠΊΠ» ΠΈΠ· 1-3 строк ΠΈΠΌΠ΅Π΅Ρ‚ индСкс ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ I,j ΠΈΠ»ΠΈ k. Но Ссли Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ большС, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π°Π²Π°Ρ‚ΡŒ индСксам осмыслСнныС ΠΈΠΌΠ΅Π½Π°. И Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ (сразу ΠΆΠ΅ становится понятно, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ†ΠΈΠΊΠ») ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ программистам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с вашим ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚ΠΎΠΆΠ΅ станСт Π»Π΅Π³Ρ‡Π΅.

ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΡ‹ ΠΏΡ€ΠΈ пСрСчислСниях

ΠŸΡ€ΠΈ использовании пСрСчислСний ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ прСфикс. НапримСр, Π² случаС Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… STATUS_OPENED, STATUS_TO_CONFIRM, STATUS_CONFIRMED пСрСчислСниС ΠΈΠ΄Π΅Ρ‚ с прСфиксом STATUS_.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹

ΠŸΡ€ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ констант слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ числа, Π° абстрактныС сущности, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ. Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅ понятно с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° ΠΈ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ стилСм программирования.

ΠšΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΈ

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

МСньшС обобщСнности

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

employeesCount, userMonthWorkDaysCount, yearTax, maxComputedSalary

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΠ»ΠΎΡ…ΠΈΡ… ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

Π’Π°ΠΊ ΠΆΠ΅ Π½Π΅ ΠΌΠ°Π»ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΌ являСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… условий Π½Π° нСсколько строк ΠΈ использованиС отступов.

Π‘ΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:

Бсылка Π½Π° ΠΊΠ½ΠΈΠ³Ρƒ Code Complete.
Бпасибо за вниманиС.

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

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ написания ΠΊΠΎΠ΄Π°

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ кодирования

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ‚Π°ΠΊΠΈΡ… стайл-Π³Π°ΠΉΠ΄ΠΎΠ²:
1. ΠŸΠ»ΠΎΡ…ΠΎ обоснована ΠΈΡ… Ρ†Π΅Π»Π΅ΡΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ
2. Они Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, вмСсто ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ².
3. Π­Ρ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠ»ΠΎΡ…ΠΎ обоснованы ΠΈ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ построСны Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡Π°Ρ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ….

Π’ упомянутой ΡΡ‚Π°Ρ‚ΡŒΠ΅ всё обоснованиС нСобходимости стандартизации Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π²:

Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ руководство ΠΏΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ:
1. УстановлСниС стандарта качСства ΠΊΠΎΠ΄Π° для всСх исходников;
2. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ согласованности ΠΌΠ΅ΠΆΠ΄Ρƒ исходниками;
3. Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ стандартам всСми Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ;
4. Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ продуктивности.

1. [Ρ‚ΡƒΡ‚ располагаСтся ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ стандарт] Β«Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ Π½ΡƒΠΆΠ΅Π½ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» стандарт» β€” Π½Π΅ обосновываСт Π΅Π³ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅.
2. Π’ любом Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡƒΡ‡Π° ΠΊΠΎΠ΄Π°, Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ вСяниям ΠΌΠΎΠ΄Ρ‹ оформлСния: измСнСния стайл-Π³Π°ΠΉΠ΄Π° со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, лСгаси ΠΊΠΎΠ΄, ΠΊΠΎΠ΄ сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π°Π²Ρ‚ΠΎΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΈ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ, ΠΊΠ°ΠΊ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ.
3. Π’ΠΎ ΠΆΠ΅ Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚.
4. Π£ΠΆΠ΅ Ρ‚Π΅ΠΏΠ»Π΅Π΅, Π½ΠΎ ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π΅ обосновываСтся ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ этого Π΄ΠΎΠ»ΠΆΠ½Π° вырасти, ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ β€” Π½Π° сколько.

По своСму ΠΎΠΏΡ‹Ρ‚Ρƒ ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ самоС Ρ…ΡƒΠ΄ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠΌ стилС, ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ любой ΠΊΠΎΠ΄ написанный Β«Π½Π΅ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΒ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Ρ€Π΅Π²ΠΎΠ³Ρƒ, Π³Π½Π΅Π² ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π½Π°Π²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΌ свои ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠΈ. ΠšΡƒΠ΄Π° ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ исходники, игнорируя ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅. И для этого Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ€Π°Π·Π½ΠΎΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ. Π― Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Ρ€Π°ΡΡΠ»Π°Π±ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ всё Π² ΠΎΠ΄Π½Ρƒ строку, Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π΅ΡΡ‚ΡŒ ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, Ρ‡Π΅ΠΌ «стандарт Π½ΡƒΠΆΠ΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всё Π±Ρ‹Π»ΠΎ стандартно».

Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹ΠΉ стандарт:
1. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΡΡ с цСлями
2. Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π° соотвСтствиС цСлям
3. Π‘Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΡ€Π°Π²ΠΈΠ», для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этих ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ²

Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ

ЦСль: ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡƒΡ‚Ρ‘ΠΌ налоТСния Π½Π° сСбя ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.

Π’ Ρ‡Ρ‘ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°:
1. написаниС нового кода
2. ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ, Π² Ρ‚ΠΎΠΌ числС ΠΈ автоматичСская
3. поиск Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ участка ΠΊΠΎΠ΄Π°
4. Π°Π½Π°Π»ΠΈΠ· Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π°
5. поиск источника Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ повСдСния
6. сравнСниС Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
7. пСрСнос ΠΊΠΎΠ΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Ρ‚ΠΊΠ°ΠΌΠΈ

КакиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ поставлСнной Ρ†Π΅Π»ΠΈ:

1. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ максимально нСзависимы.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° проста: Ссли ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ строки трСбуСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ…, Ρ‚ΠΎ это ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ риск ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ слиянии Π²Π΅Ρ‚ΠΎΠΊ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ β€” это Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя Π½Π° Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ эта простая идСя проскакиваСт Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ» упомянутой Π² Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ явно ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡Π°Ρ‰ΡƒΡŽ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ:

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ β€” это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ красиво, Π½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:
1. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки с Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, icon—person-premium) ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ измСнСнию всСх строк Π² Π³Ρ€ΡƒΠΏΠΏΠ΅.
2. АвтоматичСскоС ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π½ΠΈΠ΅ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΡΠΎΠ±ΡŒΡ‘Ρ‚ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ icon—person Π½Π° icon—user Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ инструмСтов).
3. Иногда ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ становятся Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ, ΠΎΡ‚ Ρ‡Π΅Π³ΠΎ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ становится слоТнСС.

Π’Π°ΠΊΠΆΠ΅ Ρ‚ΡƒΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ лишний сСмиколон (semicolon, Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой). ЕдинствСнная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π΅Π³ΠΎ появлСния Π² этом мСстС β€” слСпоС слСдованиС ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ стайл-Π³Π°ΠΉΠ΄Π°, Π½Π΅ понимая Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ².
Π’ многострочных ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…, это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ добавляСмыС Π² ΠΊΠΎΠ½Π΅Ρ† строки Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΈ ΠΊ измСнСнию ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…. НапримСр:

Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π° javascript ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ сСбС ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ie8, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ…Π²ΠΎΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈ Π² Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ…:

Π”Ρ€ΡƒΠ³ΠΎΠΉ аспСкт этого ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… строках Ρ‚Π΅ сущности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ нСзависимо. ИмСнно поэтому ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ css-свойства Π½Π΅ стоит Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ строку. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ стоит ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ ΠΈ комплСксными свойствами.

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ яркий ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ этого ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° β€” Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Π’ΡƒΡ‚ ΠΌΡ‹ ΠΏΠΎΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π²Π΅Π½ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС, Ρ‡Ρ‚ΠΎ позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ/ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ звСнья Π½Π΅ трогая сосСдниС строки, Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ всё Ρ€Π°Π²Π½ΠΎ остаётся сильная связь ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ придётся Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ Π½Π° Π΄Π²Π΅ ΠΈ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π°Ρ‡Π°Π»Π°:

А Π²ΠΎΡ‚ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ записи ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΠΎΠ»Π½ΡƒΡŽ свободу дСйствий:

2. НС ΡΠ²Π°Π»ΠΈΠ²Π°Ρ‚ΡŒ всС яйца (ΠΊΠΎΠ΄) Π² ΠΎΠ΄Π½Ρƒ ΠΊΠΎΡ€Π·ΠΈΠ½Ρƒ (Ρ„Π°ΠΉΠ»/Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ).

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

Часто ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΡ€Π·ΠΈΠ½Π°Ρ…: «всС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈΒ», «всС скрипты», «всС стили». И ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ роста ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… появляСтся иСрархия, частично одинаковая, Π½ΠΎ ΠΈ с Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Ρ‹ΠΌΠΈ отличиями. Π—Π°Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ΡΡŒ: Π° Ρ‚Π°ΠΊ Π»ΠΈ Π²Π°ΠΆΠ΅Π½ Ρ‚ΠΈΠΏ Ρ„Π°ΠΉΠ»Π°? ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π° ΠΈΠΌΡ‘Π½ ΠΊΡƒΠ΄Π° Π²Π°ΠΆΠ½Π΅Π΅. Π’Π°ΠΊ Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ эти Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ€Π·ΠΈΠ½Ρ‹? НС Π»ΡƒΡ‡ΡˆΠ΅ Π»ΠΈ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ модуля Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ рядом, Π² ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠ°ΠΊΠΈΠΌΠΈ Π±Ρ‹ Π½ΠΈ Π±Ρ‹Π»ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹? Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅:

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

3. Π―Π·Ρ‹ΠΊ программирования β€” ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ СстСствСнный язык.

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

JS частично ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, поэтому Π² Π½Ρ‘ΠΌ сСмиколоны Π² ΠΊΠΎΠ½Ρ†Π΅ строк ΡΠ²Π»ΡΡŽΡ‚ΡΡ тавтологиями:

А Π²ΠΎΡ‚ CSS Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, поэтому Π² Π½Ρ‘ΠΌ, Π±Π΅Π· Π½ΠΈΡ… Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ:

Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ восприятия Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² языка, ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ расставлСны совсСм Π½Π΅ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ письмСнной Ρ€Π΅Ρ‡ΠΈ:

Для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ, слова ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ свой порядок, Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡΡΡŒ ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΊ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΈ ΠΎΠ±Ρ‰ΠΈΠΌ:

А ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ имСнования ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ с постфиксом Β«sΒ» (Ρ‡Ρ‚ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π΄Π°Ρ‘Ρ‚ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ слова) Π² цСлях Сдинообразия Π΄Π°Ρ‘Ρ‚ Π±Π΅Π·Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹Π΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния английского языка слова:

Но это мСньшСС Π·Π»ΠΎ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ программиста Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ знания всСх английских словоформ.

5. ΠŸΠΎΠ»Π½Ρ‹Π΅ ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΎΠ΄Π½ΠΎΠΉ сущности Π² Ρ€Π°Π·Π½Ρ‹Ρ… мСстах

Поиск ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ β€” довольно частая опСрация ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, поэтому Π²Π°ΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ мСсто, Π³Π΄Π΅ ΠΎΠ½ΠΎ опрСдСляСтся. НапримСр, Π²Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ страничку ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ Ρ‚Π°ΠΌ класс Β«b-user__compactΒ». Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ‚Π°ΠΌ появился. Поиск ΠΏΠΎ строкС Β«b-user__compactΒ» Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π΄Π°Ρ‘Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ имя этого класса Π½ΠΈΠ³Π΄Π΅ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π½Π΅ встрСчаСтся β€” ΠΎΠ½ΠΎ склСиваСтся ΠΈΠ· кусочков. А всё ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Ρ€Π΅ΡˆΠΈΠ» ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ копипасту Ρ†Π΅Π½ΠΎΠΉ услоТСния Π΄Π΅Π±Π°Π³Π°:

НС Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ. Если склСиваСтС имя ΠΈΠ· кусочков, Ρ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ эти кусочки содСрТат ΠΏΠΎΠ»Π½Ρ‹ΠΉ нСймспСйс Ρ‚ΠΎΠ³ΠΎ модуля, Π³Π΄Π΅ ΠΎΠ½ вводится Π² ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅:

По ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ классу Β«my-user__my-block-compactΒ» сразу Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ склССн ΠΈΠ· Π΄Π²ΡƒΡ… кусков: ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Β«my/blockΒ», Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π² Β«my/userΒ» ΠΈ ΠΎΠ±Π° Π»Π΅Π³ΠΊΠΎ находятся ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ подстрокам. Аналогичная Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΈ ΠΏΡ€ΠΈ использовании css-прСпроцСссоров, Π³Π΄Π΅ ΠΌΡ‹ встрСчаСмся с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ:

Если ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ css-прСпроцСссоры, Ρ‚ΠΎ Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅:

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

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

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