ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. Как ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Какой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄

ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡Ρ‚Ρ‘Π½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Π’ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠΌ смыслС - Π»ΡŽΠ±Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для транслятора . Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ транслируСтся Π² исполняСмый ΠΊΠΎΠ΄ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π΄ΠΎ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ компилятора ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ сразу ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° .

Π­Π½Ρ†ΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ‡Π½Ρ‹ΠΉ YouTube

    1 / 3

    βœͺ Science show. Выпуск 33. НаучныС киноляпы 2

    βœͺ ΠžΡΠ½ΠΎΠ²Ρ‹ программирования: Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΈΜ† ΠΊΠΎΠ΄

    βœͺ ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопросы 1: Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

    Π‘ΡƒΠ±Ρ‚ΠΈΡ‚Ρ€Ρ‹

НазначСниС

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π»ΠΈΠ±ΠΎ выполняСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ. ИзмСнСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ исходным, с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° - Π² качСствС описания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. По тСксту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π΅Ρ‘ повСдСния. Для облСгчСния понимания исходного ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ . Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ исходному ΠΊΠΎΠ΄Ρƒ - Ρ‚. Π½. Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹β€…Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ .

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ часто пСрСносят исходный ΠΊΠΎΠ΄ (Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ , Π² ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡΡ Π²ΠΈΠ΄Π΅ ΠΈΠ»ΠΈ с Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠ΅ΠΉ) ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‡Ρ‚ΠΎ носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎβ€…ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡβ€…ΠΊΠΎΠ΄Π° .

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ - ваТнСйший ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для процСсса портирования программного обСспСчСния Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π‘Π΅Π· исходного ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ части ПО ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ слишком слоТно, Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ

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

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

Для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ программистов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ систСмы управлСния вСрсиями .

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π΅Ρ‚ Β«Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанного» ΠΈΠ»ΠΈ Β«ΠΏΠ»ΠΎΡ…ΠΎ написанного» ΠΊΠΎΠ΄Π°. Но Ρ‚ΠΎ, ΠΊΠ°ΠΊ написан ΠΊΠΎΠ΄, ΠΌΠΎΠΆΠ΅Ρ‚ сильно Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° процСсс ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡβ€…ΠŸΠž . О качСствС исходного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ:

  • Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° (Π² Ρ‚ΠΎΠΌ числС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π»ΠΈΠ±ΠΎ выполняСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ. ИзмСнСния Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°Π΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ исходным, с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° - Π² качСствС описания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. По тСксту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π΅Ρ‘ повСдСния. Для облСгчСния понимания исходного ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ . Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ исходному ΠΊΠΎΠ΄Ρƒ - Ρ‚. Π½. Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ .

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ часто пСрСносят исходный ΠΊΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‡Ρ‚ΠΎ носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π° (Software reusability ).

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ - ваТнСйший ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для процСсса портирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π‘Π΅Π· исходного ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ части ПО, ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ слишком слоТно, Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ

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

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

Для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с исходным ΠΊΠΎΠ΄ΠΎΠΌ, для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ программистов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ систСмы управлСния вСрсиями .

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π΅Ρ‚ Β«Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанного» ΠΈΠ»ΠΈ Β«ΠΏΠ»ΠΎΡ…ΠΎ написанного» ΠΊΠΎΠ΄Π°. Но Ρ‚ΠΎ ΠΊΠ°ΠΊ написан ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ сильно Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° процСсс сопровоТдСния ПО . О качСствС исходного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π² контСкстС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

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

НСисполняСмый исходный ΠΊΠΎΠ΄

ΠšΠΎΠΏΠΈΠ»Π΅Ρ„Ρ‚Π½Ρ‹Π΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ для свободного ПО Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ распространСния исходного ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΈ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ для Ρ€Π°Π±ΠΎΡ‚, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€.

Π’ Ρ‚Π°ΠΊΠΈΡ… случаях исходным ΠΊΠΎΠ΄ΠΎΠΌ считаСтся Ρ„ΠΎΡ€ΠΌΠ° Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ для Π΅Ρ‘ рСдактирования. Π’ лицСнзиях, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ПО, ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ вСрсиСй Π² Β«ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅Β». Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • для Ρ„Π°ΠΉΠ»Π°, сТатого с ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… - вСрсия Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΡŒ;
  • для растрового изобраТСния - вСкторная вСрсия;
  • для Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ изобраТСния Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ - трёхмСрная модСль
  • для изобраТСния тСкста - Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ тСкст Π² тСкстовом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ;

ΠΈ Π½Π°ΠΊΠΎΠ½Π΅Ρ†, сам Ρ„Π°ΠΉΠ», Ссли ΠΎΠ½ удовлСтворяСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ условиям, Π»ΠΈΠ±ΠΎ Ссли Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ вСрсии просто Π½Π΅ сущСствовало.

Главная Β» Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ошибки

Π›ΡŽΠ±ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈΠ»ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-сСрвисов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Word, для Windows, whatsapp ΠΈΠ»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ сотни ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² людСй, Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструкции. Или ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ понятСн машинС, рассказываСт Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ. Или ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Какой ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСн Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.ОписаниС

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄-это тСкст выполняСтся Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ языкС, понятном машинС. Она ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° нСпосрСдствСнно Π² тСкстС ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ компилятором.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ². ВсС ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, содСрТащиСся Π² Π½ΠΈΡ…, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС. Однако, Ρ‚Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. НапримСр, Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π° страницы ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования ΠΈ стандартов. Π’ зависимости ΠΎΡ‚ слоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊΠΈΡ… языков ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΊΠ°ΠΊ PHP, HTML ΠΈ javascript, Java ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ….

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

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠ΄Π°

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π΅ способСн ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ваш ΠΊΠΎΠ΄ написан для Π½Π΅Π³ΠΎ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ. Если ΠΎΠ½ Π·Π΄ΠΎΡ€ΠΎΠ² ΠΈ Π½Π΅ содСрТит ошибок, машина Π±ΡƒΠ΄Π΅Ρ‚ Π² любом случаС Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. ΠŸΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ сопровоТдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, качСствСнный ΠΊΠΎΠ΄ характСризуСтся нСсколькими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:Π§ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°. Одного взгляда Π½Π° Π½Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСализуСтся Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°.ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ ΠΈ Π΅ΠΌΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ влияСт Π½Π° ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ, простота ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, тСстирования, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.Низкая ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°. ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ мСньшС систСмных рСсурсов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠ°ΠΌΡΡ‚ΡŒ, процСссорноС врСмя ΠΈ дисковоС пространство.ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ мусора. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ управлСния.ВрСдоносного ΠΊΠΎΠ΄Π°

Помимо ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Π²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ систСмС ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ оборудования. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ людьми, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ заинтСрСсованы Π² ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ прСимущСств ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ процСсса. НапримСр, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ…ΠΈΡ‰Π°Ρ‚ΡŒ Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Они ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Ρ€Ρ‚Ρ‹, паспортныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ просто Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° систСму, Ρ‚Π΅ΠΌ самым вызывая сбои ΠΈ прСдотвращая ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ написанию Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°

Π”ΠΆΠ΅Ρ„Ρ„ Π’ΠΎΠ³Π΅Π»ΡŒ β€” программист с большим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹, подСлился нСсколькими совСтами для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.

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

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

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

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

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΡ ошибок ΠΊΠΎΠ΄Π°, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅, ΠΈΡ… ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π½Π° этапС проСктирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НаличиС Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… условий ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ вСсти ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ курса.

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

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

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

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΈΠ³Ρ€

Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊΠΈ Π›ΡƒΡ‡ΡˆΠ°Ρ ΠΊΠ½ΠΈΠ³Π° программиста β€” Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ исходный ΠΊΠΎΠ΄. Π Π°Π·Π΄Π΅Π» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ исходныС ΠΊΠΎΠ΄Ρ‹ самого Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ³ΠΎ направлСния: исходники ΠΈΠ³Ρ€, сСтСвых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ нСбольшиС исходныС ΠΊΠΎΠ΄Ρ‹ для ознакомлСния. Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊΠΈ сайта написаны Π½Π° языках программирования C++ ΠΈ C#. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСбольшой, Π½ΠΎ алгоритмичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ шаг Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ спСциализированной Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ². Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ исходник с Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. Π§Π°Ρ‰Π΅ всСго Π½Π΅Ρ‚ нСобходимости ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, достаточно Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ строки. Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊΠΈ настоящСго сайта Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ исходных ΠΊΠΎΠ΄ΠΎΠ² Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° сайтах программисткой Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ. К ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ строчкС ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

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

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

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

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

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

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

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ просто тСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ , Π°Π½Π³Π». source code ) β€” любой Π½Π°Π±ΠΎΡ€ инструкций ΠΈΠ»ΠΈ объявлСний, написанных Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ языкС программирования ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ позволяСт программисту ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° инструкций.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, написанный Π½Π° HTML, с использованиСм JavaScript

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

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

12.3.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π²Π° направлСния выполнСния ΠΊΠΎΠ΄Π°: транслируСтся Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ компилятора, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ , ΠΈΠ»ΠΈ выполняСтся нСпосрСдствСнно ΠΏΠΎ тСксту с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

Π¦Π΅Π»ΠΈ

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

Π›ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

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

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ

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

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠΆΠ΅ дСсятки Π»Π΅Ρ‚ сущСствуСт Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ…, Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ стандарт оформлСния ΠΊΠΎΠ΄Π°. НСкоторыС стандарты ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Ρ‹ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСгласными ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ. НапримСр, ВСнгСрская нотация Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ (часто это Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ выпуском ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΈ ΠΏΠΎ имСнованию Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… прСдприятия), Π΄Ρ€ΡƒΠ³ΠΈΠ΅ стандарты ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° расстановки элСмСнтов синтаксиса.

Π˜ΡΡ…ΠΎΜΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (Ρ‚Π°ΠΊΠΆΠ΅ исхо́дный тСкст , Π»ΠΈΠ±ΠΎ просто исхо́дник , ΠΊΠΎΠ΄ , Π°Π½Π³Π».Code ) - ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² тСкстовом Π²ΠΈΠ΄Π΅ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ языкС программирования. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π»ΠΈΠ±ΠΎ транслируСтся Π² исполняСмый ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ компилятора, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ , Π»ΠΈΠ±ΠΎ исполняСтся нСпосрСдствСнно ΠΏΠΎ тСксту ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°.

НазначСниС

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π»ΠΈΠ±ΠΎ выполняСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ. ИзмСнСния Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°Π΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ исходным, с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° - Π² качСствС описания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. По тСксту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π΅Ρ‘ повСдСния. Для облСгчСния понимания исходного ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ автоматичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ исходному ΠΊΠΎΠ΄Ρƒ - Ρ‚. Π½. Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, исходный ΠΊΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

HTML ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ часто пСрСносят исходный ΠΊΠΎΠ΄ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‡Ρ‚ΠΎ носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π° (Software reusability ).

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ - ваТнСйший ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ для процСсса портирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π‘Π΅Π· исходного ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ части ПО, ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΈΠ±ΠΎ слишком слоТно, Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ нСвозмоТно…

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ

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

Π‘Π»ΠΎΠΆΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΏΡ€ΠΈ сборкС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования дСсятков, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ сотСн Ρ„Π°ΠΉΠ»ΠΎΠ² с исходным ΠΊΠΎΠ΄ΠΎΠΌ.

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

Для облСгчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с исходным ΠΊΠΎΠ΄ΠΎΠΌ, для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ программистов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ систСмы управлСния вСрсиями.

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π΅Ρ‚ Β«Ρ…ΠΎΡ€ΠΎΡˆΠΎ написанного» ΠΈΠ»ΠΈ Β«ΠΏΠ»ΠΎΡ…ΠΎ написанного» ΠΊΠΎΠ΄Π°. Но Ρ‚ΠΎ ΠΊΠ°ΠΊ написан ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ сильно Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° процСсс сопровоТдСния ПО. О качСствС исходного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π² контСкстС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

  • Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°
  • Π»Ρ‘Π³ΠΊΠΎΡΡ‚ΡŒ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅, тСстировании, ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈ устранСнии ошибок, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ
  • низкая ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
  • Π½ΠΈΠ·ΠΊΠΎΠ΅ использованиС рСсурсов - памяти, процСссора, дискового пространства
  • отсутствиС Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

15 ΠΏΡ€Π°Π²ΠΈΠ» написания качСствСнного ΠΊΠΎΠ΄Π°

Π•ΡΡ‚ΡŒ ΠΌΠΈΡ€ΠΈΠ°Π΄Ρ‹ способов Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ уровня качСствСнного ΠΊΠΎΠ΄Π°, достаточно ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ 15 ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Π˜Ρ… соблюдСниС Π½Π΅ сдСлаСт ΠΈΠ· вас мастСра, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 1. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ стандартам оформлСния ΠΊΠΎΠ΄Π°.

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка программирования Π΅ΡΡ‚ΡŒ свой стандарт оформлСния ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ отступы, Π³Π΄Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ скобки, ΠΊΠ°ΠΊ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Ρ‚.Π΄.

НапримСр, Π² этом кускС ΠΊΠΎΠ΄Π° Π² соотвСтствии со стандартом Π΅ΡΡ‚ΡŒ 12 ошибок:

For(i=0 ;i

Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅ стандарт Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΡƒΡ‡ΠΈΡ‚Π΅ основы Π½Π°ΠΈΠ·ΡƒΡΡ‚ΡŒ, слСдуйтС ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΊΠ°ΠΊ заповСдям, ΠΈ ваши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ станут Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ, написанныС выпускниками Π²ΡƒΠ·ΠΎΠ².

МногиС ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ стандарты ΠΏΠΎΠ΄ свои спСцифичСскиС Π½ΡƒΠΆΠ΄Ρ‹. НапримСр, Google Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» стандарты для Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 12 языков программирования. Они Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΈΡ… , Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ΄ Google. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ Π΄Π°ΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя настройки Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ, ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ваш ΠΊΠΎΠ΄ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ этому ΡΡ‚ΠΈΠ»ΡŽ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ….

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 2. Π”Π°Π²Π°ΠΉΡ‚Π΅ наглядныС ΠΈΠΌΠ΅Π½Π°.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌΠΈ, Π½Π΅ΡƒΠΊΠ»ΡŽΠΆΠΈΠΌΠΈ Ρ‚Π΅Π»Π΅Ρ‚Π°ΠΉΠΏΠ°ΠΌΠΈ, программисты Π² дрСвности использовали ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρ‹ для ΠΈΠΌΡ‘Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя, стуки ΠΏΠΎ клавишам, Ρ‡Π΅Ρ€Π½ΠΈΠ»Π° ΠΈ Π±ΡƒΠΌΠ°Π³Ρƒ. Π­Ρ‚Π° ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π° присутствуСт Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сообщСствах Ρ€Π°Π΄ΠΈ сохранСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости. Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π»ΠΎΠΌΠ°ΡŽΡ‰ΡƒΡŽ язык Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ C wcscspn (wide character string complement span). Но Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Π² соврСмСнном ΠΊΠΎΠ΄Π΅.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ наглядныС ΠΈΠΌΠ΅Π½Π° Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ complementSpanLength, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ сСбС ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ свой ΠΊΠΎΠ΄ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ‚Π΅Π»Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ², ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² исполнСния.

Π“ΠΎΡ€Π°Π·Π΄ΠΎ Π²Π°ΠΆΠ½Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π΄ΠΎΠ»Π³ΠΎ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΡƒΠΌΠ°Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ. ЯвляСтся Π»ΠΈ имя Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ? ИмСли Π»ΠΈ Π²Ρ‹ Π² Π²ΠΈΠ΄Ρƒ highestPrice ΠΈΠ»ΠΈ bestPrice? Достаточно Π»ΠΈ спСцифично имя, Π΄Π°Π±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ использования Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… контСкстах для схоТих ΠΏΠΎ смыслу ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²? НС Π»ΡƒΡ‡ΡˆΠ΅ Π»ΠΈ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ getBestPrice замСсто getBest? ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ ΠΎΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… схоТих ΠΈΠΌΡ‘Π½? Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ReadEventLog, Π²Π°ΠΌ Π½Π΅ стоит Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ NetErrorLogRead. Если Π²Ρ‹ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, описываСт Π»ΠΈ Π΅Ρ‘ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅?

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, нСсколько простых ΠΏΡ€Π°Π²ΠΈΠ» имСнования. ИмСна классов ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. НазваниС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π³Π»Π°Π³ΠΎΠ». Если ΠΌΠ΅Ρ‚ΠΎΠ΄ опрСдСляСт, являСтся Π»ΠΈ какая-Ρ‚ΠΎ информация ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ истинной ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠΉ, Π΅Π³ΠΎ имя Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Β«isΒ». ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Β«getΒ», Π° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ значСния свойств - Β«setΒ».

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 3. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅.

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

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

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 4. НС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΠΉΡ‚Π΅ΡΡŒ.

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

  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ справочников API ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Javadoc ΠΈ Doxygen.
  • АвтоматичСская гСнСрация Unit-тСстов Π½Π° основС Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ соглашСний ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ.
  • ГСнСрация PDF ΠΈ HTML ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ источника.
  • ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ структуры классов ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚).

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 5. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Π½Π° ошибки ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½Π° Π½ΠΈΡ….

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

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 6. РаздСляйтС ΠΊΠΎΠ΄ Π½Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅, обособлСнныС части.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, функция ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½ ΡƒΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ экранном ΠΎΠΊΠ½Π΅ (25-50 строк). Если ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π΄Π»ΠΈΠ½Π½Π΅Π΅, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ куски. Π”Π°ΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° раздСляйтС Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π° Π±Π»ΠΎΠΊΠΈ, ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.

Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ процСсс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€ΠΎΠ΄ Π·Π°Π΄Π°Ρ‡. Если Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° выполняСт ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ Π΅Π³ΠΎ соотвСтствСнно.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 7. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ API Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈ сторонниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

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

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 8. НС пСрСусСрдствуйтС с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

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

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 9. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹.

Π”Π΅Π»Π°ΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ имя, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ порядок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΡΡ…ΠΎΠΆΡƒΡŽ структура Ρ‚Π΅Π»Π°. Π’ΠΎ ΠΆΠ΅ самоС относится ΠΈ ΠΊ классам. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ поля ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΈΠΌ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ интСрфСйсы, ΠΈ сопоставляйтС Π½ΠΎΠ²Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π² ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… классах.

Π’Π°Ρˆ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ соглашСниям вашСго Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. НапримСр, Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ являСтся Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ: Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ (Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ) слСва (Π² Π½Π°Ρ‡Π°Π»Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°) ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ (ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ) справа (Π² ΠΊΠΎΠ½Ρ†Π΅). Если для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ случая Π½Π΅Ρ‚ соглашСний, Ρ‚ΠΎ сдСлайтС Π²Ρ‹Π±ΠΎΡ€ ΠΈ Ρ„Π°Π½Π°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ Π΅Π³ΠΎ.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 10. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π΅Π΄ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½Ρ‹ΠΉ риск ΡΡ‚Π°Ρ‚ΡŒ мишСнью Π°Ρ‚Π°ΠΊ. Они Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°; Π°Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ вашСго прилоТСния. Π’ зависимости ΠΎΡ‚ вашСго языка программирования ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ стоит ΠΏΠΎΠ±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±ΡƒΡ„Π΅Ρ€Π°, кросс-сайтовых сцСнариях, SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡΡ… ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…. Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΈΡ… Π² ΠΊΠΎΠ΄Π΅. Π­Ρ‚ΠΎ Π½Π΅ слоТно.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 11. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эффСктивныС структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

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

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 12. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Unit-тСсты.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ соврСмСнного ПО Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ установку Π΄ΠΎΡ€ΠΎΠΆΠ΅, Π° тСстированиС Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ сопровоТдСниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ куска ΠΊΠΎΠ΄Π° тСстами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ, Ρ‚.ΠΊ. ΠΎΠ½ позволяСт ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ошибки Ρ€Π°Π½ΡŒΡˆΠ΅. Unit-тСстированиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π½Π° языках с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠ°ΠΊ Python ΠΈ JavaScript, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π»ΡŽΠ±Ρ‹Π΅ ошибки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этапС исполнСния, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ языки со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Java, C# ΠΈ C++ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… Π²ΠΎ врСмя компиляции. Unit-тСстированиС Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ XUnit для упрощСния написания тСстов ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡ… запуска.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 13. БохраняйтС ΠΊΠΎΠ΄ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ.

Если Ρƒ вас Π½Π΅Ρ‚ особой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. НС ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊΠ°ΠΊ integer, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ) Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 32 Π±ΠΈΡ‚Π°), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ отличаСтся Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ сообщСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΊΠΎΠ΄Π° ΠΈ Π½Π° Π·Π°ΡˆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈ Ρ†Π΅Π»ΠΎΠΉ части ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚Ρ‹). БоглашСния Π½ΡƒΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ΄ ΠΌΠΎΠ³ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… странах, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ сдСлайтС Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠΉ, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 14. Π”Π΅Π»Π°ΠΉΡ‚Π΅ свой ΠΊΠΎΠ΄ собираСмым.

ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ Π² Ρ„ΠΎΡ€ΠΌΡƒ, Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΊ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ. Команда Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ Π²Π°ΠΌ быстро Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ сборку ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ тСсты. Для достиТСния этой Ρ†Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ срСдства автоматичСской сборки Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Make , Apache Maven , ΠΈΠ»ΠΈ Ant . Π’ ΠΈΠ΄Π΅Π°Π»Π΅, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ любом ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ 15. Π Π°Π·ΠΌΠ΅Ρ‰Π°ΠΉΡ‚Π΅ всё Π² систСмС контроля вСрсий.

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

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

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

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

Π•ΡΡ‚ΡŒ ряд ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (ΠžΠ‘Π Π’). МногиС ΠΈΠ· Π½ΠΈΡ… - ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° - нСсомнСнно, вСсьма Π²Π°ΠΆΠ½Ρ‹ (особСнно ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ - Ρ‚Π°ΠΊΠΎΠ²Ρ‹ наши Ρ€Π΅Π°Π»ΠΈΠΈ). Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ - Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° - ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ Π²Π°ΠΆΠ΅Π½, Π½ΠΎ всСгда оцСниваСтся ΠΊΠ°ΠΊ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΡ€.

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΆΠ΅Π»Π΅Π·Π°. Π—Π΄Π΅ΡΡŒ Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ исходный ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ особСнно Π²Π΅Ρ€Π½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с использованиСм VHDL ΠΈ Verlog. Как Π΄Π΅Π»Π° обстоят здСсь? Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ слоТилось Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ микросхСмы ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΅Π΅ примСнСния ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ опирался Π½Π° спСцификации, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΊΠ°Π·Π°Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, располоТСниС Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², трСбования ΠΊ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ, ΠΈ Ρ‚.Π΄. И ΠΏΡ€ΠΈ этом Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π» ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ схСму Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства ИБ, хотя часто ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΡƒΡŽ схСму (Π² основном Π² качСствС ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π» ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² функционирования), Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ схСму (для Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ИБ Ρ‚ΠΈΠΏΠ° ОУ), хотя ΠΈ Π±Π΅Π· Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠ².
Π˜Π½ΠΆΠ΅Π½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСгодня Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ASIC ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ FPGA, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ IP Π±Π»ΠΎΠΊΠΈ - ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». ΠŸΡ€ΠΈ этом, Π²Ρ‹Π±ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° спСцификациях, ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ HDL для IP Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ поставки. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с использованиСм Β«Ρ‡Π΅Ρ€Π½Ρ‹Ρ… ящиков» Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстСн Π² ΠΌΠΈΡ€Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния.

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

Если исходный ΠΊΠΎΠ΄ для IP доступСн, это Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π»ΡŽΠ±Ρ‹Ρ… (Π½Ρƒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΡŽΠ±Ρ‹Ρ…) ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм, Π΄Π°ΠΆΠ΅ Ссли поставщик большС Π½Π΅ Π² состоянии ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΠΈ RTOS ΠΈ Ρ‚.Π΄. Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ Π½Π° ΠΏΠΎΠ»ΠΊΠ΅, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ, просто Π½Π° всякий случай.

Настройка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ встраиваСмыми систСмами ΠΈ дСсктопами являСтся ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Ρ…. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ПК ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈ Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΡƒ срСдой исполнСния: Windows, Mac, ΠΈΠ»ΠΈ Linux. ВстроСнныС систСмы, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, нСвСроятно ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ - Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ процСссоры, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ памяти ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС IP Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСмах. Π₯отя ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ RTOS ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ - ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, которая настроСна Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, трСбования ΠΊ поставкС исходного ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚ΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поставщиков, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ сохранСния ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ многочислСнных Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ прСдоставлСниС IP Π² Π²ΠΈΠ΄Π΅ исходного Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· этих вопросов. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊ ΠΊΠ°Ρ€Ρ‚Π΅ памяти устройства, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ устройств. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях, IP Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ условной компиляции - ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, для опрСдСлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ рСдактируСтся Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

БСртификация. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… Π²ΠΎΠ΅Π½Π½Ρ‹Π΅ / Π°Π²ΠΈΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΈ ΠΌΠ΅Π΄ΠΈΡ†ΠΈΠ½Π°, встроСнноС ПО Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ сСртифицировано Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ соотвСтствиС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ стандартам. Π­Ρ‚ΠΎΡ‚ процСсс являСтся слоТным ΠΈ Π΄ΠΎΡ€ΠΎΠ³ΠΈΠΌ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΊΠΎΠ΄Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Β«ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сСртифицированныС» Π±Π»ΠΎΠΊΠΈ ПО, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ всС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ рассмотрСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, скорСС всСго, ΠΈΡΠΊΠ°Ρ‚ΡŒ IP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ доступСн вмСстС с исходным ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ полная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΌΠΎΠ³Π»Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄?
Вопрос ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ странным, Π½ΠΎ Π±Π΅Π· ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π½Π΅Π³ΠΎ обсуТдСниС ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ аспСктов Π΅Π³ΠΎ наличия (ΠΈΠ»ΠΈ отсутствия) прСвращаСтся Π² нСсколько странноС занятиС. ΠžΡ‚Π²Π΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ: исходный ΠΊΠΎΠ΄ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляСт собой Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТащих инструкции Π½Π° языкС высокого уровня ΠΈΠ»ΠΈ ассСмблСрС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скомпилированы ΠΈ собраны Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ инструкции. Π‘Ρ€Π°Π·Ρƒ вопрос - Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для процСсса прСобразования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ срСда исполнСния для Π½ΠΈΡ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ исходного ΠΊΠΎΠ΄Π° (Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅)? Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ ΠΏΠΎ мСньшСй ΠΌΠ΅Ρ€Π΅ 3 Ρ„ΠΎΡ€ΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… «исходный ΠΊΠΎΠ΄Β» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ поставлСн (для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ языкС Π‘) Π² порядкС ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡ качСства:
1) Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ исходный ΠΊΠΎΠ΄, с Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ, Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ конвСнциями имСнования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ (ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ имССтся Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° IP, Ρ‡Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ).
2) Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, НО Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈΠ»ΠΈ особСнно Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².
3) Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° послС обфрускации, которая Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π½Π΅Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌ для компилятора. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΈΠΌΠ΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π° бСссмыслСнныС ΠΈ удалСния всСх ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ синтаксичСски Π½Π΅Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². БущСствуСт ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ процСсс, Π½ΠΎ Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌΠΈ.
ВсС эти Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ поставщиков ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ:
1) являСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡ€ΠΈ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ ΠΏΠΎΠΊΡƒΠΏΠΊΠ΅, Ссли Π²Π°ΠΌ трСбуСтся исходный ΠΊΠΎΠ΄, Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ это ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ссли ΡΠΎΠΌΠ½Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ, просто попроситС ΠΎΠ±Ρ€Π°Π·Ρ†Ρ‹.
2) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ΄Π°Π²Π΅Ρ† Ρ…ΠΎΡ‡Π΅Ρ‚ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ) достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ для сСртификации.
3) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ содСрТимого IIP ΠΎΡ‚ посторонних Π³Π»Π°Π·, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ прСимущСство конфигурируСмости, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ.

НСдостатки исходного ΠΊΠΎΠ΄Π°.
Π‘Π°ΠΌΡ‹ΠΉ Π³Π»Π°Π²Π½Ρ‹ΠΉ нСдостаток Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ исходный ΠΊΠΎΠ΄ доступСн: это сильноС ΠΈΡΠΊΡƒΡˆΠ΅Π½ΠΈΠ΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ своС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ (Π½Ρƒ Π΅ΡΡ‚ΡŒ такая Ρ‚ΠΎΡ‡ΠΊΠ° зрСния). Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли API ΠžΠ‘Π Π’ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² точности Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ для прилоТСния, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ исходного ΠΊΠΎΠ΄Π° прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.
Π₯отя ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ - это Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° долгосрочной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π§Ρ‚ΠΎ, Ссли сущСствуСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ RTOS? ΠŸΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ новая вСрсия ΠžΠ‘Π Π’? Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΅Π΅ Π² Ρ€Π΅Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ, особСнно Ссли ΠΈΡ… Π°Π²Ρ‚ΠΎΡ€ Ρƒ Вас ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ (Π½Ρƒ ΠΈΠ»ΠΈ Π’Ρ‹ Π΄Π΅Π»Π°Π»ΠΈ эти ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ 3 Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ ΠΈ СстСствСнно, ΠΈΠ»ΠΈ, ΠΊΠ°ΠΊ говорят, разумССтся, Π½Π΅ ΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΠ»ΠΈΡΡŒ написаниСм ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ).

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