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

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ измСряСтся объСм ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ скрытыС ограничСния Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΊΠ°ΠΊ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ становятся Β«Π±ΡƒΡ‚Ρ‹Π»ΠΎΡ‡Π½Ρ‹ΠΌ Π³ΠΎΡ€Π»Ρ‹ΡˆΠΊΠΎΠΌΒ» ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π² чистотС.

ВСхничСскиС ограничСния ΠΈ Π»ΠΈΠΌΠΈΡ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘

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

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ВСхничСскиС Π»ΠΈΠΌΠΈΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрный). ВсСгда провСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ вашСй вСрсии Ρ€Π΅Π»ΠΈΠ·Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ компания Β«1Π‘Β» пСриодичСски пСрСсматриваСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ограничСния компилятора.

Π’ΠΎΡ‡Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹ Π»ΠΈΠΌΠΈΡ‚ΠΎΠ²

Π’ старых вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Π΄ΠΎ 8.3.10) сущСствовало ТСсткоС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ модуля Π² 128 Кб. Π’ соврСмСнных вСрсиях этот Π»ΠΈΠΌΠΈΡ‚ сущСствСнно Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½, Π½ΠΎ рСкомСндуСтся Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ модуля Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… 30-50 тысяч строк для удобства ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΌ считаСтся ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ 1000 строк Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅.

ВлияниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° модуля Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

БущСствуСт устойчивоС Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° влияСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° удобство чтСния, Π½ΠΎ Π½Π΅ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния. На самом Π΄Π΅Π»Π΅, ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы, особСнно Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ запуска ΠΈ компиляции. ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ запускС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ контСкст выполнСния, ΠΈ Ρ‡Π΅ΠΌ большС ΠΊΠΎΠ΄Π° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π΅ΠΌ дольшС этот процСсс.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, большиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ большС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти процСсса rphost ΠΈΠ»ΠΈ 1cv8. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ скомпилированный ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² памяти для быстрого доступа. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ толстого ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ большом количСствС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ «подвисания» интСрфСйса.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ становится ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΈ использовании ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Если основныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ€Π°Π·Π΄ΡƒΡ‚Ρ‹, врСмя примСнСния ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ увСличиваСтся ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ. Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΌΠΎΠ΄ΡƒΠ»ΠΈ позволяСт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ компиляции Π±ΠΎΠ»Π΅Π΅ эффСктивно.

  • πŸš€ Π”Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ускоряСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π·Π° счСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ контСкста Π°Π½Π°Π»ΠΈΠ·Π°.
  • πŸ’Ύ Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ потрСблСния памяти процСссом сСрвСра 1Π‘ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с тяТСлыми конфигурациями.
  • ⚑ УскорСниС компиляции ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ сохранСнии ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
πŸ’‘

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ модуля Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 2000-3000 строк ΠΊΠΎΠ΄Π°. Если ΠΌΠΎΠ΄ΡƒΠ»ΡŒ большС, это сигнал ΠΊ Π²Ρ‹Π½Π΅ΡΠ΅Π½ΠΈΡŽ ΠΎΠ±Ρ‰Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ качСства ΠΊΠΎΠ΄Π°: цикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ΅ Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠΎΠ΄Π° нСльзя ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ подсчСтом строк. Π“ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ являСтся цикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. Π­Ρ‚Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ нСзависимых ΠΏΡƒΡ‚Π΅ΠΉ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Высокая ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ условий Если...Π’ΠΎΠ³Π΄Π°...Π˜Π½Π°Ρ‡Π΅, Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

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

РСкомСндуСтся ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ цикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»Π° значСния 10-15. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹ΡˆΠ΅, это Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° нСсколько ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с понятными названиями. ИспользованиС Π²Π½Π΅ΡˆΠ½ΠΈΡ… инструмСнтов Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ chameleon ΠΈΠ»ΠΈ встроСнных ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π² EDT, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.

πŸ“Š Какой инструмСнт Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° 1Π‘?
ВстроСнная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
Chameleon
SonarQube
Π ΡƒΡ‡Π½ΠΎΠΉ просмотр ΠΊΠΎΠ΄Π°
НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€

Когда Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ исчисляСтся тысячами строк, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³? ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π±Π»ΠΎΠΊΠΎΠ². Часто Π² Ρ‚Π°ΠΊΠΈΡ… «простынях» ΠΊΠΎΠ΄Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ вариациями.

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

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ эффСктивный ΠΏΡ€ΠΈΠ΅ΠΌ β€” использованиС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° Β«Π Π°Π½Π½ΠΈΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Β». ВмСсто Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ влоТСнности условий, провСряйтС Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ сцСнарии Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Ссли условия Π½Π΅ met. Π­Ρ‚ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄ ΠΈ сниТаСт Ρ†ΠΈΠΊΠ»ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, дСлая ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π±ΠΎΠ»Π΅Π΅ плоской ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠΉ.


// ΠŸΠ»ΠΎΡ…ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: глубокая Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ

Если НС ΠŸΡƒΡΡ‚ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚) Π’ΠΎΠ³Π΄Π°

Если Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ Π’ΠΎΠ³Π΄Π°

Если Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π”Π°Ρ‚Π° > ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π° Π’ΠΎΠ³Π΄Π°

// Основная логика

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

// Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Ρ€Π°Π½Π½ΠΈΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚

Если ΠŸΡƒΡΡ‚ΠΎΠ΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅(Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚) Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Если НС Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Если Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π”Π°Ρ‚Π° < ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π° Π’ΠΎΠ³Π΄Π°

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚;

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

// Основная логика

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ

БоврСмСнная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² 1Π‘ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π±Π΅Π· использования срСдств статичСского Π°Π½Π°Π»ΠΈΠ·Π°. ВстроСнная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (АдминистрированиС -> ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ) позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹. Однако для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ спСциализированныС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹.

БистСма Chameleon ΠΈΠ»ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для 1Π‘:EDT ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ статистику ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ. Они ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ количСство строк, Π½ΠΎ ΠΈ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ слоТности, количСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. РСгулярный ΠΏΡ€ΠΎΠ³ΠΎΠ½ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… процСсса CI/CD ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹.

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

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π’ΠΈΠΏ Π°Π½Π°Π»ΠΈΠ·Π° Основная ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ
ВстроСнная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° 1Π‘ БтатичСский Бинтаксис ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ стандарты ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€
Chameleon БтатичСский ЦикломатичСская ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π’Π½Π΅ΡˆΠ½ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°
1Π‘:EDT (SonarQube) БтатичСский ВСхничСский Π΄ΠΎΠ»Π³ IDE / Π‘Π΅Ρ€Π²Π΅Ρ€
Антиплагиат 1Π‘ Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Поиск Π΄ΡƒΠ±Π»Π΅ΠΉ ΠΊΠΎΠ΄Π° Π’Π½Π΅ΡˆΠ½ΠΈΠΉ сСрвис

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠΌ ΠΊΠΎΠ΄Π°

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

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ структуры ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

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

Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ тСматичСскому ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ. НапримСр, всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, связанныС с расчСтом Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π Π°ΡΡ‡Π΅Ρ‚Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ РасчСтЗарплатыБСрвСр. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° клиСнтскиС ΠΈ сСрвСрныС ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ лишнСй ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π°ΠΌΠΈ.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π§Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ Π΄Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° слишком ΠΌΠ΅Π»ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΌΠ΅Π½Π΅Π΅ 3-5 строк) Ρ‚ΠΎΠΆΠ΅ Π²Ρ€Π΅Π΄Π½ΠΎ. Π­Ρ‚ΠΎ затрудняСт Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° выполнСния. Π˜Ρ‰ΠΈΡ‚Π΅ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Π»ΠΎΠ³ΠΈΠΊΠΈ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксы Π² названиях ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для указания контСкста выполнСния: "Π£Ρ‚" (Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρ‹), "Пл" (ΠŸΠ»Π°Π½Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π°), "Π ΠΏ" (Π Π°Π±ΠΎΡ‡Π΅Π΅ мСсто). Π­Ρ‚ΠΎ ускорит поиск Π½ΡƒΠΆΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² большом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

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

Какой ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ модуля допустим Π² 1Π‘ 8.3?

ВСхничСского ТСсткого Π»ΠΈΠΌΠΈΡ‚Π° Π½Π° количСство строк Π² соврСмСнных вСрсиях 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 Π½Π΅Ρ‚, ΠΎΠ΄Π½Π°ΠΊΠΎ рСкомСндуСтся Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 30 000 - 50 000 строк Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ этого ΠΏΠΎΡ€ΠΎΠ³Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ замСдляСт ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ВлияСт Π»ΠΈ Π΄Π»ΠΈΠ½Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния запросов?

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

Как Π½Π°ΠΉΡ‚ΠΈ самыС Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ?

Для этого ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшниС инструмСнты Π°Π½Π°Π»ΠΈΠ·Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Chameleon ΠΈΠ»ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΈΠ· 1Π‘:EDT. ВстроСнными срСдствами ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ поиском ΠΏΠΎ модулям, сортируя ΠΈΡ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ, Π½ΠΎ это ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎ, Ρ‡Π΅ΠΌ спСциализированный Π°Π½Π°Π»ΠΈΠ· цикломатичСской слоТности.

МоТно Π»ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ²?

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

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π½Π΅ помСщаСтся Π² Π»ΠΈΠΌΠΈΡ‚ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°?

ЕдинствСнноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. НСобходимо Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π½Π° нСсколько ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ВынСсСниС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π±Π»ΠΎΠΊΠΎΠ² Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° основной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньшС мСста, Ρ‡Π΅ΠΌ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.