Π Π°Π·Π½ΠΎΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°: Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°? ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π¦Π΅Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° / Π₯Π°Π±Ρ€

Π‘ΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ: Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” это юношСскоС «Π·Π°Π±ΠΎΠ»Π΅Π²Π°Π½ΠΈΠ΅». По Π»ΠΈΡ‡Π½Ρ‹ΠΌ наблюдСниям, Π³Π΄Π΅-Ρ‚ΠΎ послС 26 Π»Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ. Как Π² Ρ‚ΠΎΠΉ старой Ρ„Ρ€Π°Π·Π΅: «ΠšΡ‚ΠΎ Π² молодости Π½Π΅ Π±Ρ‹Π» Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π΅Ρ€ΠΎΠΌ β€” Ρƒ Ρ‚ΠΎΠ³ΠΎ Π½Π΅Ρ‚ сСрдца, ΠΊΡ‚ΠΎ Π² зрСлости Π½Π΅ стал консСрватором β€” Ρƒ Ρ‚ΠΎΠ³ΠΎ Π½Π΅Ρ‚ ΡƒΠΌΠ°». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠΎΠΊΠ° ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ отпустило, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΡŽΠ·ΠΊΠ΅ΠΉΡΡ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ†Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚ΡŒ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ.

Π’Π΄ΠΎΡ…Π½ΠΎΠ²ΠΈΡ‚Π΅Π»ΠΈ

ΠŸΠΈΡΠ°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π» послС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ просмотра ΠΏΡƒΠ»Π»-рСквСста Π½Π° 150+ Ρ„Π°ΠΉΠ»ΠΎΠ², Π³Π΄Π΅ Π±Ρ‹Π»ΠΎ Π»ΡŽΡ‚ΠΎ замСшана новая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π±Ρ‹Π» Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ космСтичСским, Π½ΠΎ ΠΈ логичСским, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π» Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΡƒΡŽ боль. НапримСр, Π² Ruby amount == 0 смСло замСнялся Π½Π° amount.zero? Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ для случая nil Π² amount эти конструкции Π½Π΅ эквивалСнтны. Объяснялось ΠΆΠ΅ всё это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: «Π½ΠΎ ΠΏΠΎ ΠΊΠΎΠ΄ стандарту Ρ‚Π°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ!» На Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ вопрос «ΠΊΠ°ΠΊΠ°Ρ Ρ†Π΅Π»ΡŒ слСдования ΠΊΠΎΠ΄ стандарту ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅, какая Ρ†Π΅Π»ΡŒ Ρƒ тСбя ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°?» Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ замыкался Π² сСбС ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ΠΎ повторял «Π½ΠΎ ΠΏΠΎ ΠΊΠΎΠ΄-стандарту ΠΆΠ΅ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°Π΄ΠΎ…» ΠΈ выглядСл ΠΊΠ°ΠΊ Π±Π»ΠΎΠ½Π΄ΠΈΠ½ΠΊΠ° Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ ΠΎΠ΄Π΅ΠΆΠ΄Ρ‹, которая Π½Π΅ Π² силах ΡΠΎΠ²Π»Π°Π΄Π°Ρ‚ΡŒ с ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒΠΊΡƒΠΏΠΈΡ‚ΡŒ всё.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

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

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

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

Π¦Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

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

ΠŸΡ€ΡΠΌΡ‹Π΅ цСнности ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

Π’ΡƒΡ‚ всё просто. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, поэтому прямыС цСнности это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ явно Ρ‰ΡƒΠΏΠ°Π΅Ρ‚/Π²ΠΈΠ΄ΠΈΡ‚/чувствуСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. А ΠΈΠΌΠ΅Π½Π½ΠΎ:

  1. всСвозмоТная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°;
  2. удобство использования (UI/UX, быстродСйствиС, ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚Π΄).

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΈΡΠΊΡƒΡΡΠΈΡŽ. Π’Π΅Π΄ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ это Π½Π΅ Π³Π»Π°Π²Π½ΠΎΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ссли Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ°, Ρ‚ΠΎ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π²ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π·Π°Π²Ρ‘Ρ€Π½ΡƒΡ‚Π°. Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π΅Π· вмСняСмого UI/UX: Redmine ΠΈ SAP. Однако я с Ρ‚Π°ΠΊΠΈΠΌ взглядом Π½Π΅ согласСн ΠΈ Π±Π»ΠΈΠΆΠ΅ ΠΏΠΎ взглядам ΠΊ Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Ρƒ Алану ΠšΡƒΠΏΠ΅Ρ€Ρƒ ΠΈ Π΅Π³ΠΎ «ΠŸΡΠΈΡ…Π±ΠΎΠ»ΡŒΠ½ΠΈΡ†Π΅ Π² Ρ€ΡƒΠΊΠ°Ρ… ΠΏΠ°Ρ†ΠΈΠ΅Π½Ρ‚ΠΎΠ²».

ΠšΠΎΡΠ²Π΅Π½Π½Ρ‹Π΅ цСнности ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

Π­Ρ‚ΠΎ Ρ‚Π΅ цСнности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сами ΠΏΠΎ сСбС Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚. Но ΠΌΠΎΠ³ΡƒΡ‚ «Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΡ‚ΡŒ» ΠΈΠ»ΠΈ «Π½Π°ΠΊΠΎΠΏΠΈΡ‚ΡŒΡΡ» ΠΈ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ влияниС (Ρ€Π°Π·Π½ΠΎΠΉ стСпСни тяТСсти) Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

  1. Π‘Π°Π³ΠΈ. ΠŸΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΉ случай цСнностСй. Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ ΠΎΠ½ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ сами цСнности Π½Π΅ нСсут, Π° Π·Π°Π±ΠΈΡ€Π°ΡŽΡ‚ Π΅Ρ‘ Ρƒ сосСдних Ρ„ΠΈΡ‡Π΅ΠΉ.
  2. Чистота. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ входящих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ интСрфСйсов ΠΈ Ρ‚Π΄.
  3. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎ ΠΊΠΎΠ΄ ΠΈ пояснСния для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½Π΅ ΠΏΡ€ΠΎ бизнСс описаниС ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΡŽΠ·ΠΊΠ΅ΠΉΡΡ‹. Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Ρ„Ρ€Π°Π·ΠΎΠΉ вСсёлого ΠΌΡƒΠΆΠΈΠΊΠ° с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· собСсСдований: «Π›ΠΎΠ³ΠΈΠΊΠ° Π² Π‘Π” написана ΠΊΠ°ΠΊ ΠΊΠ½ΠΈΠ³Π°».
  4. ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ/Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΡΡ‚ΡŒ/Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΡ… Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚, ΠΏΠΎΠΊΠ° Π½Π΅ случится Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π΅Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅.

ЦСнности для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

ΠžΡ‡Π΅Π½ΡŒ ваТная катСгория, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡƒΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΈΠ· Π²ΠΈΠ΄Ρƒ, Π½ΠΎ которая всСгда влияСт Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

  1. Код ΠΏΠΎ стандарту.
  2. ΠžΡ‚ΡΡ‚ΡƒΠΏΡ‹ ΠΏΠΎ Ρ„Π΅Π½-ΡˆΡƒΡŽ.
  3. Π˜Π½Ρ‹Π΅ сдСлки с ΡΠΎΠ²Π΅ΡΡ‚ΡŒΡŽ. Π’Π΅Π΄ΡŒ ΠΊΠΎΠ΄ писал, Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π° дСнь Π΅ΡΡ‚ΡŒ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΈ польза Π΅ΡΡ‚ΡŒ.
  4. БогласиС ΠΊΠΎΠ΄Π° с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ ΠΌΠΈΡ€ΠΎΠΌ.

Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π±Ρ‹Ρ‚ΡŒ чСстными. Всё это Π½Π΅ ΠΏΡ€ΠΎ цСнности, связанныС с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎ ΠΏΡΠΈΡ…ΠΎΠ»ΠΎΠ³ΠΈΡŽ ΠΈ Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π°Ρ€Π°ΠΊΠ°Π½ΠΎΠ².

Взгляд со стороны бизнСса

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

НапримСр.

  • Новая Ρ„ΠΈΡ‡Π° с ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ OAuth ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»Π° количСство рСгистраций Π½Π° 10% ΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ +1ΠΊ$.
  • Π Π°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±ΠΈΠ»Π»ΠΈΠ½Π³Π° Π½Π° нСсколько нСзависимых частСй, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π΅ single-responsibility. Π’Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ стало, Π½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.
  • ΠœΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΡŽ с ΠΊΠΎΠ΄-стандартом и… «Π½ΠΈΡ‡Π΅Π³ΠΎ» Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ.

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

БправСдливости Ρ€Π°Π΄ΠΈ, Ρ‚ΡƒΡ‚ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ понятиС enabler’Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ «ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΡ€ΠΎΠ³Ρƒ» ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ Ρ„ΠΈΡ‡ΠΈ, Π½ΠΎ явного ΠΏΡ€ΠΎΡ„ΠΈΡ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ нСсёт. Но это ΡƒΠΆΠ΅ другая история.

ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Ρ‚ΡƒΡ‚ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³?

Как ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° косвСнныС цСнности ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½ΠΈ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π΅ станСт.

Π’Π°ΠΊ ΠΆΠ΅, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΡŽ. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ всСгда Π½Π΅ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π΅Ρ‘. Для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ энтропии, Π² ΠΈΠ΄Π΅Π°Π»Π΅, Π½ΡƒΠΆΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΡŽ Π½Π° этапС проСктирования. ΠŸΡ€ΠΎΡ†ΠΈΡ‚ΠΈΡ€ΡƒΡŽ кусочСк ΠΈΠ· ΠœΠΈΡ„ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ чСловСкомСсяца:

БистСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ являСтся процСссом, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‰ΠΈΠΌ ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΡŽ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π΅ΠΌΡƒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ присуща ΠΌΠ΅Ρ‚Π°ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΅ΡΡ‚ΡŒ процСсс, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΡŽ, ΠΈ Π΄Π°ΠΆΠ΅ самоС ΡƒΠΌΠ΅Π»ΠΎΠ΅ Π΅Π³ΠΎ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ лишь отдаляСт Π²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ систСмы Π² Π±Π΅Π·Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ устарСваниС.

ΠŸΠΎΡΠ΅ΠΌΡƒ, Ссли ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ‡Π°ΡΡ‚ΡŒΡŽ процСсса сопровоТдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ Ρ‡Π΅ΠΌ мСньшС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‚Π΅ΠΌ дольшС ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠΆΠΈΠ²Ρ‘Ρ‚ Π±Π΅Π· пСрСписывания.

КакиС Ρ†Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρƒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°?

Напомню, Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΎ спонтанном ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΈΡ‡ΠΈ, Π° Π½Π΅ ΠΎ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… измСнСниях. Π’ этом случаС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ†Π΅Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π»Π΅ΠΆΠΈΡ‚ Π½Π° ΠΏΠ»Π΅Ρ‡Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Он Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π΄Π°Ρ‚ΡŒ сСбС Π³Π»Π°Π²Π½Ρ‹ΠΉ вопрос «Π·Π°Ρ‡Π΅ΠΌ?», ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ ΠΈ послС этого, Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ.

Π—Π° ΡΠ½Ρ‚Ρ€ΠΎΠΏΠΈΡŽ!

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

Π—Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ!

Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΡ‰Π΅. ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ «Ρ‡Ρ‚ΠΎ Π½Π° ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ΅, Ρ‚ΠΎ ΠΈ Π² ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ΅», ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ конструкции Π·Π° счёт возмоТностСй языка ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… мСстах ΠΈ Ρ‚.Π΄. Π’Π°ΠΊΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΡƒ ΠΈ, ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΊΠ°ΠΊ сСбС Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌΡƒ, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ сосСдним.

Π—Π° быстродСйствиС!

По-чСстному, Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π»ΠΈΠ±ΠΎ Π²Π°ΠΌ достаточно Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… возмоТностСй систСмы ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ, Π»ΠΈΠ±ΠΎ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΈ Π½Π° сколько ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ.

Π’ эту ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ всё: ΠΎΡ‚ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½ΠΎΠ³ΠΎ исправлСния N+1 Π΄ΠΎ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎΠ³ΠΎ ускорСния Π·Π° счёт измСнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹. Вся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° скорости всСгда сидит «Ρ‡Ρ‘Ρ‚Π½ΠΎΡΡ‚ΡŒ» Π±Π°Π³ΠΎΠ². Π’ΠΎΡ‚, ΠΊ ΡΠ»ΡƒΡ‡Π°ΡŽ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ: Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΏΡƒΡˆΠ°Ρ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π‘Π” ΠΈ Π² этой ΠΆΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ставится Π·Π°Π΄Π°Ρ‡Π° Π² Sidekiq; ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Sidekiq’Π° Π² Redis’Π΅ ΠΈ транзакция Π½Π° Π½Π΅Π³ΠΎ Π½Π΅ распространяСтся; ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ таска ΠΈΠ½ΠΎΠ³Π΄Π° бСрётся Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ закоммитятся Π΄Π°Π½Π½Ρ‹Π΅; послСдствия ΠΈ процСсс Π΄Π΅Π±Π°Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сами.

Π—Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³!

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ воспользовались сСрвисом ΠΏΠΎ ΡƒΠ±ΠΎΡ€ΠΊΠ΅ ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Ρ‹. Они ΠΏΡ€ΠΈΡˆΠ»ΠΈ, Π½Π°Ρ‡Π°Π»ΠΈ ΡƒΠ±ΠΎΡ€ΠΊΡƒ, Π½ΠΎ, ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ Π΄Π΅Π»Π°, всю мСбСль Π² ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π΅ пСрСставили ΠΈ ΡˆΡ‚ΠΎΡ€Ρ‹ ΠΈΠ· гостинной Π² Π²Π°Π½Π½Ρƒ пСрСвСсили с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ «Π² Ρ‚Π°ΠΊΠΈΡ… условиях ΡƒΠ±ΠΎΡ€Ρ‰ΠΈΡ†Π΅ Π±Ρ‹Π»ΠΎ приятнСС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ». ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с «WTF?!» ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ сами.

НадСюсь, Π²Ρ‹ поняли, Ρ‡Ρ‚ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ ΠΎ сСбС, Π° ΠΎ Ρ‚ΠΎΠΌ, для ΠΊΠΎΠ³ΠΎ Π²Ρ‹ это Π΄Π΅Π»Π°Π΅Ρ‚Π΅.

Π‘ΠΌΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΈ принятиС

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ «ΠΌΠ°Π½ΡƒΠ°Π»» ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ. ΠŸΡ€Π°Π²Π΄Π° это Π½Π΅ TODO-лист, Π°, скорСС, список Ρ„Π°ΠΊΡ‚ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ ΠΈ, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π½Π΅ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ дСйству.

  1. Π― ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽ количСство Π±Π°Π³ΠΎΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈ ΠΌΠΎΠ³Ρƒ Π·Π° это ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Π±ΡƒΠ±Π΅Π½.
  2. Π― ΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽΡΡŒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ всС вопросы ΠΏΠΎ Π½Π΅ΠΌΡƒ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎ ΠΌΠ½Π΅.
  3. Π‘Π²ΠΎΠΈΠΌΠΈ дСйствиями я Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠΆΡƒ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ†Π΅Π½Π½ΠΎΠ³ΠΎ для ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

НСмного пояснСний.

  1. Π›ΡŽΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ шанс ΠΏΠΎΡ€ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π°Π³. А Ρ€Π°Π· это дСйствиС Π½Π΅ связано с ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚ΠΎ Π²Ρ‹ просто ΠΏΠ»ΠΎΠ΄ΠΈΡ‚Π΅ Π±Π°Π³ΠΈ Π±Π΅Π· Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ основных цСнностСй. Π₯ΠΎΡ€ΠΎΡˆΠΎ это ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ шлангами, ΠΊΠΎΠ³Π΄Π° ΠΊ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ с вопросами.
  2. ΠžΡ‚ΠΌΠ°Π·ΠΊΠΈ Π²ΠΈΠ΄Π° «anotate previous» ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ±ΠΎΠ³ΠΈ, ΠΈΠ±ΠΎ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π³ΠΈΡ‚Ρ…Π°Π±Π΅/Π³ΠΈΡ‚Π»Π°Π±Π΅ Π½Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΠΈΡ‡ΠΈ. Плюс, ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Π°Π²Ρ‚ΠΎΡ€ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° Π·Π° ваши измСнСния ΠΎΠ½ отвСтствСнности Π½Π΅ нСсёт ΠΈ тСряСт Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ происходящСго. Π’ΠΎΡ‡Π½Π΅Π΅, Π²Ρ‹ Π΅Ρ‘ Π·Π°Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Ρƒ Π½Π΅Π³ΠΎ вмСстС с ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ.
  3. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ„ΠΈΠ³ Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, Π΅Π³ΠΎ интСрСсуСт ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π΅ ΠΎΠ± этом.

И Π΅Ρ‰Ρ‘ Ρ€Π°Π·: Ссли Π½Π΅ согласны с хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² β€” Π½Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΠΉΡ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. Π›ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ…Π°Π±Ρ€, Π»ΡƒΡ€ΠΊ, Ρ‡Π°ΡŽ Π²Ρ‹ΠΏΠ΅ΠΉΡ‚Π΅ ΠΈΠ»ΠΈ, Π½Π° Ρ…ΡƒΠ΄ΠΎΠΉ ΠΊΠΎΠ½Π΅Ρ†, Π·Π°ΠΏΠΈΠ»ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΡ‡Ρƒ с Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Π°.

ΠšΠΎΠ½Π΅Ρ†

НС судитС строго. По возмоТности, ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΠΉΡ‚Π΅ конструктивно. И всСгда Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π°Π΄ Ρ†Π΅Π»ΡŒΡŽ своих дСйствий. Бпасибо.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ? / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Enterra / Π₯Π°Π±Ρ€

МнС нравится Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. НСт, Π½Π΅ Ρ‚Π°ΠΊ. Π― люблю Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. НС, Π΄Π°ΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ. Π― чСртовски люблю Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³.
Π― Π½Π΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡˆΡƒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ»ΠΎΡ…ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. МСня ΠΊΠΎΡ€ΠΎΠ±ΠΈΡ‚, ΠΊΠΎΠ³Π΄Π° я ΠΏΠΈΡˆΡƒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΠΈΡ‡Ρƒ, Π° Π² сосСднСм классС творится ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π±Π°Ρ€Π΄Π°ΠΊ. Π― просто Π½Π΅ ΠΌΠΎΠ³Ρƒ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΏΠ΅Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π°Π·Π²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Иногда ΠΏΠ΅Ρ€Π΅Π΄ сном я Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽ Π³Π»Π°Π·Π° ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Иногда я ΠΏΡ€ΠΎΡΡ‹ΠΏΠ°ΡŽΡΡŒ Π² Ρ‚Ρ€ΠΈ часа Π½ΠΎΡ‡ΠΈ ΠΈ ΠΈΠ΄Ρƒ ΠΊ Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. МнС хочСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° любой стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄ Π±Ρ‹Π» Π½Π΅ просто ΠΊΠΎΠ΄ΠΎΠΌ, Π° ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ искусства, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ приятно ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ приятно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ раздСляСтС ΠΌΠΎΠΈ ощущСния, Ρ‚ΠΎ Π½Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΎ Ρ‡Ρ‘ΠΌ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ мСня Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ всё подряд, Π²Π΅Π·Π΄Π΅ ΠΈ всё врСмя β€” Π½Π΅ самая Π»ΡƒΡ‡ΡˆΠ°Ρ идСя. ΠŸΠΎΠΉΠΌΠΈΡ‚Π΅ мСня ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ (Π° Π»ΡƒΡ‡ΡˆΠ΅ Π±Ρ‹ Π΅ΠΌΡƒ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ), Π½ΠΎ Π² условиях суровой Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ всСгда Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ постоянно Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°. Π― Π²Ρ‹Π²Π΅Π» для сСбя нСсколько ΠΏΡ€Π°Π²ΠΈΠ» ΠΎ своСврСмСнности Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Если Ρƒ мСня Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ‡Π΅ΡΠ°Ρ‚ΡŒΡΡ Ρ€ΡƒΠΊΠΈ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ, Ρ‚ΠΎ я ΠΎΠ³Π»ΡΠ΄Ρ‹Π²Π°ΡŽΡΡŒ Π½Π° эти ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ: «А Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ сСйчас Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ?Β». Π”Π°Π²Π°ΠΉΡ‚Π΅ порассуТдаСм ΠΎ Ρ‚ΠΎΠΌ, Π² ΠΊΠ°ΠΊΠΈΡ… ΠΆΠ΅ случаях Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ умСстСн, Π° Π² ΠΊΠ°ΠΊΠΈΡ… β€” Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ.

ДисклСймСр. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΌΠ½ΠΎΠ³ΠΈΠΌ захочСтся послС прочтСния поста сразу ΡΠΊΠ°Π·Π°Ρ‚ΡŒ: Β«Π”Π° это ΡƒΠΆΠ΅ 600 Ρ€Π°Π· ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»ΠΎΡΡŒ!Β» ΠΈΠ»ΠΈ Β«Π­Ρ‚ΠΎ ΠΆΠ΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π·Π°Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΎΠ± этом ΠΏΠΈΡΠ°Ρ‚ΡŒ?Β». Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈ ΠΏΡ€Π°Π²Ρ‹, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: Π² ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΌ ΠΌΠΈΡ€Π΅ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ творится хаос. Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ всСм всё понятно, Π½ΠΎ Π½Π° Π΄Π΅Π»Π΅ получаСтся, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ понятно. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ слишком Π²Ρ€Π΅Π΄Π½ΠΎ Π΅Ρ‰Ρ‘ Ρ€Π°Π·ΠΎΠΊ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° эту Ρ‚Π΅ΠΌΡƒ. Но Ссли ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Ρƒ вас ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот пост, Ρƒ вас ΡƒΠΆΠ΅ всё Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

Блишком Ρ€Π°Π½Π½ΠΈΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас послСдний Ρ€Π°Π· Π±Ρ‹Π»ΠΎ постоянноС Π’Π—, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ мСсяцами Π½Π΅ мСнялось? Π£ мСня Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ получаСтся. ΠœΡ‹ ΠΆΠΈΠ²Ρ‘ΠΌ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅, трСбования всё врСмя ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ внСшниС трСбования β€” это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ваши собствСнныС трСбования ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Поясню ΠΌΡ‹ΡΠ»ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅: допустим, Π²Ρ‹ взяли Π·Π°Π΄Π°Ρ‡ΠΊΡƒ срСднСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΎΠ΄ΠΈΠ½-Π΄Π²Π° дня. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ нСсколько классов ΡƒΠΆΠ΅ написаны, Π½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠΊΠ° Π½Π΅Ρ‡Π΅Π³ΠΎ β€” ΠΈΠ΄Ρ‘Ρ‚ процСсс написания суровой Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠΉ части. И Ρ‚ΡƒΡ‚ Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· частСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написана Π½Π΅ особо ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎ: «А Π²ΠΎΡ‚ Ссли Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ»Π³ΠΎΠ΄Π° понадобится ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ X, Ρ‚ΠΎ всС Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‚Ρ€Π°Π΄Π°Ρ‚ΡŒΒ». Π’ΠΏΠΎΠ»Π½Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ хочСтся ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ…Ρ€Π΅Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΌ вспоминали вас ΠΏΠ»ΠΎΡ…ΠΈΠΌ словом. И Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ Π½Π΅ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Ρ„ΠΈΡ‡Ρƒ. Иногда это ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ, Π½ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΏΡƒΡ‚ΠΈ слСдовало Π±Ρ‹ ΠΏΠΎΠ²Π΅ΡΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ «ОПАБНОБВЬ». Π’ΠΎΡ‚ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π²Ρ‹ ΠΎΠ΄Π½Ρƒ ΡˆΡ‚ΡƒΠΊΡƒ, ΠΏΠΎΡ‚ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΡƒΡŽ, ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ. НСдСля ΠΏΡ€ΠΎΡˆΠ»Π°, Ρ„ΠΈΡ‡Π° всё Π΅Ρ‰Ρ‘ Π½Π΅ запускаСтся, Π° Π²Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅: «Как-Ρ‚ΠΎ всё Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ сдСлано. Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ я Ρ‚ΠΎΡ‡Π½ΠΎ понял, ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ. БСйчас Π±Ρ‹ΡΡ‚Ρ€Π΅Π½ΡŒΠΊΠΎ всё ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΡƒ с нуля». Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΠΈΠ΄Π±Π΅ΠΊΠ° ΠΏΠΎ Ρ„ΠΈΡ‡Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ, Π° Π²Ρ‹ ΡƒΠΆΠ΅ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π΅Π΄ΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ успСху. НС знаю, ΠΊΠ°ΠΊ Ρƒ вас, Π° Ρƒ мСня часто Π±Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ послС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΈΡ‡ΠΈ я Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всё Π΄ΠΎΠ»ΠΆΠ½ΠΎ нСсколько ΠΈΠ½Π°Ρ‡Π΅. И это Π½Π΅ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я Ρ‚Π°ΠΊΠΎΠΉ Π³Π»ΡƒΠΏΡ‹ΠΉ, Π·Π°Ρ€Π°Π½Π΅Π΅ Π½Π΅ смог Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ Β«ΠΏΠΎΡ‰ΡƒΠΏΠ°Ρ‚ΡŒΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ всё Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² Ρ€Π΅Π»ΠΈΠ·Π΅. Иногда Π½ΡƒΠΆΠ΅Π½ нСбольшой ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‡ΠΈΠΊ (ΠΏΡƒΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ с Π³ΠΎΠ²Π½ΠΎΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Π±Π°Π³Π°ΠΌΠΈ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ Ρ„ΠΈΡ‡Ρƒ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ. Иногда Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ: «НС, Π½Ρƒ я Π½Π΅ Ρ‚Π°ΠΊ Ρ…ΠΎΡ‚Π΅Π», всё Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚Β». ΠŸΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Π½Π΅ нравятся нововвСдСния, ΠΎΠ½ΠΈ хотят всё ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΈΡ‡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ слоТно ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡ… ΡΡƒΠ΄ΡŒΠ±Ρƒ. НСрСдко случаСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ всС Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΏΠΎΠΌΠΎΠΉΠΊΡƒ, Ρ‚. ΠΊ. послС обсуТдСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ² принял Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ всё ΠΈΠ½Π°Ρ‡Π΅. ΠžΠ±Ρ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄: Π½Π΅ стоит Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ слишком Ρ€Π°Π½ΠΎ, особСнно Ссли Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ 100 % останСтся Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

НСцСлСвой Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΠ»Π°Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° блиТайшСС врСмя. Π’ΠΏΠΎΠ»Π½Π΅ вСроятно, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ сроки (Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ ΠΈΡ… поставили сами). Π Π΅Π»ΠΈΠ·Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ воврСмя, Π·Π°Ρ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ стоит. НуТно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСбя, Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ‚Π΅ΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ входят Π² ваши нСпосрСдствСнныС Ρ†Π΅Π»ΠΈ. Допустим, Ρƒ вас Π΅ΡΡ‚ΡŒ кусок ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит ΠΊΠ°ΠΊ полноС… Ну, Π² ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΏΠ»ΠΎΡ…ΠΎ выглядит. Но, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ нашС Π΄ΠΎΠΏΡƒΡ‰Π΅Π½ΠΈΠ΅, Π²Ρ‹ с Π½ΠΈΠΌ сСйчас Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π­Ρ‚ΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠΉ кусок ΠΊΠΎΠ΄Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ справляСтся со своими Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ связан с вашСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Ну Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ! Π”Π°, вас ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠ΅Ρ‡Π°Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° всё ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠ»ΠΎΡ…ΠΎ. Но Π·Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ прямо сСйчас Π²Π°ΠΌ это Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚. Π£ вас Π΅ΡΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π·Π°Π½ΠΈΠΌΠ°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠΌΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π±Ρ‹Π²Π°ΡŽΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹, Π½ΠΎ нСчасто β€” Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π²Π°ΠΆΠ½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈΠ»ΠΈ Ρ„ΠΈΠΊΡΠΈΡ‚ΡŒ Π±Π°Π³ΠΈ. ΠšΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡Π°Ρ… ΠΈ Π½Π΅ бросайтС ΠΈΡ… ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π³Π΄Π΅-Ρ‚ΠΎ Ρ‚Π°ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ€Π°Π΄ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

Ок, Π²Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠΌ. Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹, Π½ΠΎ Ρ‚ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΌΡ‹ΡΠ»ΡŒ: «А Ρ‡Ρ‚ΠΎ я ΠΌΠΎΠ³Ρƒ Π΅Ρ‰Ρ‘ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ? Ага, Π²ΠΎΠ½ Ρ‚Ρƒ ΡˆΡ‚ΡƒΠΊΡƒΒ». А послС Π²ΠΎΠ½ Ρ‚ΠΎΠΉ ΡˆΡ‚ΡƒΠΊΠΈ появится Π²ΠΎΡ‚ эта ΡˆΡ‚ΡƒΠΊΠ°, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π°, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π΅Ρ‰Ρ‘ ΠΈ Ρ‚. Π΄. НуТно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄, Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄, Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄. ПослСднСго Π² большом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρƒ вас Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π­Ρ‚ΠΎ Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊ Π½Π΅ΠΌΡƒ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ, Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π΅Π΄ΠΎΡΡ‚ΠΈΠΆΠΈΠΌΠΎΡΡ‚ΡŒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π΄Π°Ρ‡Π° стоит Π² написании Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π½Π΅ идСального. Допустим, послС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Ρƒ вас получился Π²ΠΏΠΎΠ»Π½Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅Ρ‚ костылСй ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ Ρ‚Π°ΠΊ слоТно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π—Π°Π΄Π°ΠΉΡ‚Π΅ сСбС вопрос: «А ΠΌΠΎΠΆΠ΅Ρ‚, ΠΏΠΎΡ€Π° ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ?Β». Π”Π°, ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ. ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π² достаточно большом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ Π΄ΠΎ бСсконСчности. Но Π²ΠΎΡ‚ прямо сСйчас ΠΎΠ½ справляСтся со своими функциями, ΠΈΠΌ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΎΠ½ практичСски Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρƒ вас дискомфорта. ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ для сСбя ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ качСство ΠΊΠΎΠ΄Π°, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ пСрСстанСтС Π΅Π³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ (Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° свойство приСмлСмости Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ). ВспомнитС, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠ»Ρ‘Π²Ρ‹Ρ… ΡˆΡ‚ΡƒΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ. НС Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π΄ΠΈ самого Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Ρ€Π°Π΄ΠΈ идСального ΠΊΠΎΠ΄Π°. НуТно Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ вСскиС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π½Π° это: ΠΊΠΎΠ΄ слоТно ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΊΠΎΠ΄ слоТно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ΄ слоТно Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ΄ слоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚. ΠΏ. Если Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ «слоТно» Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ρ‚ΠΎ вСских ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρƒ вас Π½Π΅Ρ‚.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π·Π° дСнь Π΄ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°

Π‘Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π»ΠΈΠ· послСзавтра/Π·Π°Π²Ρ‚Ρ€Π°/сСгодня/Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π±Ρ‹Ρ‚ΡŒ Π²Ρ‡Π΅Ρ€Π° (Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ). Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НуТно ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ особоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, фиксам критичСских Π±Π°Π³ΠΎΠ², Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π΄ΠΎΠ΄Π΅Π»ΠΊΠ°ΠΌ. ΠŸΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ плохая идСя β€” ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ (Π° Π΅Ρ‰Ρ‘ Ρ…ΡƒΠΆΠ΅ β€” качСствСнно ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ) Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½. ΠžΠΏΡ‹Ρ‚Π½Π°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° подсказываСт, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π»ΠΈΠ·ΠΈΡ‚ΡŒΡΡ, Π° ΠΏΠΎΡ‚ΠΎΠΌ с чистой ΡΠΎΠ²Π΅ΡΡ‚ΡŒΡŽ спокойно ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄. НСкоторыС спросят: «А ΠΏΠΎΡ‡Π΅ΠΌΡƒ?Β». Если Ρ‚Π°ΠΊΠΎΠΉ вопрос Π²ΠΎΠ·Π½ΠΈΠΊ, Ρ‚ΠΎ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π²Π°ΠΌ Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ слоТный Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΡƒ: ΠΏΡ€ΠΈ пСрСписывании ΠΊΠΎΠ΄ Π½Π΅ всСгда ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ΡΡ β€” ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒΡΡ. Π”Π° Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ слоТный Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” Π±Ρ‹Π²Π°Π΅Ρ‚, ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡˆΡŒ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π° ΠΏΡΡ‚ΡŒ строк, Π½Π΅ ΡƒΡΠ»Π΅Π΄ΠΈΡˆΡŒ Π·Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ, Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π·Π΅Ρ‚ Π±Π°Π³Π°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сразу ΠΆΠ΅ встрСтятся ваши Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ. Π’ΠΎΡ‚ Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΈ Π½Π΅ дСлаСшь, Π° Ρ‚ΡƒΡ‚ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π½Π° тСбя Π½Π°ΠΏΠ°Π΄Π°Π΅Ρ‚ Π·Π²Π΅Ρ€ΡŒ Β«Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΒ» ΠΈ Ρ‚ΠΎΠΏΠΈΡ‚ тСбя Π² ΠΏΡ€ΡƒΠ΄Ρƒ Π»ΠΎΠΆΠ½ΠΎΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΎΡ†Π΅Π½ΠΊΠΈ. Π₯отя, ΠΌΠΎΠΆΠ΅Ρ‚, это просто я Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠ»ΠΎΡ…ΠΎΠΉ программист β€” люблю Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ. Π’ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ всСгда Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅ всё Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС я ΠΌΠΎΠ³Ρƒ вас ΠΏΠΎΠ·Π΄Ρ€Π°Π²ΠΈΡ‚ΡŒ, Π½ΠΎ ΠΎΡ‚ совСта с Π·Π°ΠΏΡ€Π΅Ρ‚ΠΎΠΌ ΠΏΡ€Π΅Π΄Ρ€Π΅Π»ΠΈΠ·Π½ΠΎΠ³ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° всё-Ρ‚Π°ΠΊΠΈ Π½Π΅ ΠΎΡ‚ΠΊΠ°ΠΆΡƒΡΡŒ. ΠŸΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π·Π° нСсколько Π΄Π½Π΅ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ ΡƒΠ±Π΅ΠΆΠΈΡ‚, Π° сон Ρƒ всСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΡƒΡ‚ΠΎΡ‡ΠΊΡƒ, Π½ΠΎ спокойнСй.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΎΡ‡Π΅Π½ΡŒ старого ΠΊΠΎΠ΄Π°

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

А ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ-Ρ‚ΠΎ?

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

  • НСчСго Π΄Π΅Π»Π°Ρ‚ΡŒ. Π‘Ρ‹Π²Π°ΡŽΡ‚ спокойныС Π²Ρ€Π΅ΠΌΠ΅Π½Π° простоя, ΠΊΠΎΠ³Π΄Π° всС Π²Π°ΠΆΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹, Π° Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠΊΠ° Π½Π΅ поставлСно. Ну, Π½Π΅ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ совсСм Π½Π΅Ρ‡Π΅Π³ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ количСство свободного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΅ΡΡ‚ΡŒ. ΠŸΠΎΡ‚Ρ€Π°Ρ‚ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π”Π°ΠΉΡ‚Π΅ сущностям понятныС ΠΈΠΌΠ΅Π½Π°, ΠΈΠ·Π±Π°Π²ΡŒΡ‚Π΅ΡΡŒ ΠΎΡ‚ дублирования, ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ кусок Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π₯ΠΎΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΈ Π½Π΅ добавляСтся, Π½ΠΎ Π²Ρ‹ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚Π΅ свою Π»Π΅ΠΏΡ‚Ρƒ Π² Π΄ΡƒΡˆΠ΅Π²Π½ΠΎΠ΅ спокойствиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠŸΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, это Π²Π°ΠΆΠ½ΠΎ.
  • ΠšΠ°ΠΆΠ΄ΠΎΠ΄Π½Π΅Π²Π½Ρ‹Π΅ страдания. А Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ кусок ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ заставляСт вас тяТСло Π²Π·Π΄Ρ‹Ρ…Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь. А ΠΈΠ·-Π·Π° сосСдних столов ΡΠ»Ρ‹ΡˆΠ°Ρ‚ΡΡ тяТёлыС Π²Π·Π΄ΠΎΡ…ΠΈ Π²Π°ΡˆΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ…ΠΎΡ‚ΡŒ ΠΈ Ρ€Π΅Π»ΠΈΠ· ΠΈ Π½Π΅ Π·Π°Π²Ρ‚Ρ€Π°, Π½ΠΎ Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π·Π° Π½Π΅Π΄Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ нСдСля, Π° ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° этот кусок ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° всё грустнСС. Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅ сСбС: Β«Π₯Π²Π°Ρ‚ΠΈΡ‚ это Ρ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ!Β». Если бизнСс-ΠΏΠ»Π°Π½ составляСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΈΠΊ, Ρ‚ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ просто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ. Если Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π° Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°, Ρ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎ потрачСнная Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ нСдСля ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Если Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π±Ρ‹ этим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π² этот Ρ€Π°Π· ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·Π° Π½Π° Π½Π΅Π΄Π΅Π»ΡŒΠΊΡƒ большС, Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°Ρ‚ΡŒΡΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ПО ΠΈ рСгулярными обновлСниями. Π”Π°, Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ со всСми ΠΈ с самим собой Π½Π΅ всСгда просто, Π½ΠΎ Π²Ρ‹ ΡƒΠΆ ΠΏΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ.
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΏΠΎΠ·Π΄Π°Π»ΠΎΠ³ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. НС стоит Π°Π±ΡΠΎΠ»ΡŽΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΏΡ€ΠΎ слишком Ρ€Π°Π½Π½ΠΈΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. НСкоторыС ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‚Π°ΠΊ: Β«Π― Π²ΠΎΡ‚ сСйчас Π½Π°ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽ Ρ‡Π΅Π³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ, Π° ΠΎΠ½ΠΎ Π½Π΅ пригодится β€” ΠΎΠ±ΠΈΠ΄Π½ΠΎ ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚Β». НуТно ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ядрС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ части, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ написанными Ρ…ΠΎΡ€ΠΎΡˆΠΎ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅ Π²Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π΅Π³ΠΎ Ρ†Π΅Π½Π°, вСдь Π²Ρ‹ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ сил Π½Π° пСрСписываниС. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ базисныС Π²Π΅Ρ‰ΠΈ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ всСму ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² максимально Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ постоянно. Π‘ΡƒΠ΄Π΅Ρ‚ просто прСкрасно, Ссли Π² вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ тСзис Β«Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π΅ ΠΎΠΏΠ°Π·Π΄Ρ‹Π²Π°Π΅Ρ‚. Он ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ строго Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° считаСт Π½ΡƒΠΆΠ½Ρ‹ΠΌΒ».
  • ВстрСча с монстром. Π’Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΏΠΈΠ»ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ старый кусок ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит ΠΊΠ°ΠΊ настоящий монстр: Π²Π°ΠΌ становится ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ взглядС Π½Π° внСшний интСрфСйс. Если врСмя позволяСт, Ρ‚ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΡŒΡ‚Π΅ спСрва Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π½ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅ ΠΈ Π½Π΅ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π±ΠΈΡ‚ΡŒ пяток костылСй Ρ€Π°Π΄ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π°.
  • Π Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ†ΠΈΠΎΠ½ΠΈΠ·ΠΌ. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠΉ кусок ΠΊΠΎΠ΄Π°? Π₯очСтся Π΅Π³ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ? ΠžΡ‡Π΅Π½ΡŒ хочСтся Π΅Π³ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ? Ну, Ссли прям ΠΎΡ‡Π΅Π½ΡŒ хочСтся, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ. Но ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° слово Β«Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉΒ». БоотноситС врСмя, ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, с Π²Ρ‹Π³ΠΎΠ΄ΠΎΠΉ ΠΎΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. НС стоит ΡΡ€Ρ‹Π²Π°Ρ‚ΡŒ сроки ΠΈ Π·Π°Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² бСсконСчныС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ. Однако Ссли своСврСмСнно ΠΈ Π² ΠΌΠ΅Ρ€Ρƒ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΎΡ‚ этого станСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π»ΡƒΡ‡ΡˆΠ΅.

ВмСсто Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Всё Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ являСтся чисто ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ рядом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². РазумССтся, я ΠΏΠΎΠΊΡ€Ρ‹Π» Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹Π΅ ситуации. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ свои трСбования ΠΊ ΠΊΠΎΠ΄Ρƒ, свой бизнСс-ΠΏΠ»Π°Π½ ΠΈ свои ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π£Π²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… найдётся пяток историй ΠΈΠ· сСрии «А Π²ΠΎΡ‚ Ρƒ мСня Π±Ρ‹Π» случай, ΠΊΠΎΠ³Π΄Π° всС эти совСты Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚Β». Π­Ρ‚ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ. НСт ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ сСрСбряной ΠΏΡƒΠ»ΠΈ для опрСдСлСния количСства усилий Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° (Β«ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь 47 ΠΌΠΈΠ½ΡƒΡ‚ 23 сСкунды Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ β€” ΠΈ всё Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎΒ»). Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ исходя ΠΈΠ· собствСнного ΠΎΠΏΡ‹Ρ‚Π° Π² вашСм ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, Π² вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π½Π°ΠΉΡ‚ΠΈ Π·ΠΎΠ»ΠΎΡ‚ΡƒΡŽ сСрСдину ΠΌΠ΅ΠΆΠ΄Ρƒ написаниСм Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ старого. Π― Π°Π³ΠΈΡ‚ΠΈΡ€ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎ всСму Π±Ρ‹Π»ΠΎ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· Ρ„Π°Π½Π°Ρ‚ΠΈΠ·ΠΌΠ° (Β«Π—Π°Ρ‡Π΅ΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΎΡ‚ этого Π½Π΅ появится» / «НуТно срочно вСсь ΠΊΠΎΠ΄ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΒ»). ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ ΠΊ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ β€” ΠΈ всё Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ Π»ΡŽΠ±Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ мысли ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° стоит ΠΈΠ»ΠΈ Π½Π΅ стоит Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ. Одна ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ†Π΅Π½Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ Π² этой области β€” ΠΎΠΏΡ‹Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π°Π΄ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” ВикипСдия

РСфа́кторинг (Π°Π½Π³Π».Β refactoring), ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ΄Π°, Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²Β β€” процСсс измСнСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π΅Ρ‘ внСшнСго повСдСния ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ†Π΅Π»ΡŒΡŽ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρ‹[1][2]. Π’ основС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… эквивалСнтных (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ малСнькоС, программисту Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя вся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сущСствСнной пСрСстройкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ Π΅Ρ‘ согласованности ΠΈ чёткости.

Π¦Π΅Π»ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

ЦСль Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°Β β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ для понимания; Π±Π΅Π· этого Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ нСльзя ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ слСдуСт ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Как ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, оптимизация ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ измСняСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ускоряСт Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Но оптимизация часто затрудняСт ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ[3].

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΎΡ‚ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ осущСствляСтся для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΡΡŽΡ‚ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ примСнСния Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ постоянно ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π°. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ стимулами Π΅Π³ΠΎ провСдСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  1. Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая нСдостаточно укладываСтся Π² принятоС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅;
  2. Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ возникновСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сразу Π½Π΅ ясны;
  3. ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΠ΅ трудностСй Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ обусловлСны слоТной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΡ€ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΠ½Ρ‚ΡƒΠΈΡ†ΠΈΡŽ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° ΠΎΠΏΡ‹Ρ‚Π΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΊΠΎΠ΄Π΅ (Π°Π½Π³Π».Β code smells), Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

  1. Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°;
  2. Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄;
  3. большой класс;
  4. Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²;
  5. Β«ΠΆΠ°Π΄Π½Ρ‹Π΅Β» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ обращаСтся ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;
  6. ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅;
  7. классы Π΄Π°Π½Π½Ρ‹Ρ…;
  8. нСсгруппированныС Π΄Π°Π½Π½Ρ‹Π΅.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· измСнСния Π΅Π³ΠΎ внСшнСго повСдСния. Π’ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π³ΠΈΠ±ΠΊΠΈΡ… мСтодологиях Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ тСсты ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π΅Π³ΠΎ логичности ΠΈ прозрачности. АвтоматичСскоС ΡŽΠ½ΠΈΡ‚-тСстированиС позволяСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π΅ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΠ» ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для исправлСния ошибок ΠΈ добавлСния Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ мСняСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния[3] ΠΈ это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Он выполняСтся для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ понятности ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ измСнСния Π΅Π³ΠΎ структуры, для удалСния Β«ΠΌΡ‘Ρ€Ρ‚Π²ΠΎΠ³ΠΎ кода» — всё это для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΊΠΎΠ΄ Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ. Π’ частности, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ повСдСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТным с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ структурой — Π² этом случаС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, Π° ΡƒΠΆΠ΅ Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

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

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

НаиболСС ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠΌΡ‹Π΅[4] ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

ИзмСнСниС сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (Change Method Signature)

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

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ поля (Encapsulate field)

Π’ случаС, Ссли Ρƒ класса имССтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа. ПослС Β«Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΠΈ поля» часто примСняСтся Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Β».

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

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (Move Method)

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° примСняСтся ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡Π°Ρ‰Π΅ обращаСтся ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ классу, Ρ‡Π΅ΠΌ ΠΊ Ρ‚ΠΎΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сам располагаСтся.

Π—Π°ΠΌΠ΅Π½Π° условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ (Replace Conditional with Polymorphism)

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ с нСсколькими вСтвями замСняСтся Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ подклассы для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ исходного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’Ρ‹Π±ΠΎΡ€ Π²Π΅Ρ‚Π²ΠΈ осущСствляСтся нСявно, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, экзСмпляру ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ· подклассов оказался адрСсован Π²Ρ‹Π·ΠΎΠ².

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹:

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

  • ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;
  • ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ измСнСния интСрфСйсов;
  • трудности ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π°.

БрСдства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

ВСхничСскиС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ для инструмСнтов Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

  • Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;
  • Π΄Π΅Ρ€Π΅Π²ΡŒΡ синтаксичСского Ρ€Π°Π·Π±ΠΎΡ€Π°;
  • Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ для инструмСнтов Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

  • ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ;
  • ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ;
  • интСграция с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

  • Π€Π°ΡƒΠ»Π΅Ρ€ М., Π‘Π΅ΠΊ К., Π‘Ρ€Π°Π½Ρ‚ Π”., РобСртс Π”., Апдайк Π£. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³: ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° = Refactoring: Improving the Design of Existing Code (2000).Β β€” Π‘ΠΏΠ±: Π‘ΠΈΠΌΠ²ΠΎΠ»-Плюс, 2009.Β β€” 432 с.Β β€” 3000 экз.Β β€” ISBN 5-93286-045-6.
  • Π‘ΠΊΠΎΡ‚Ρ‚ Π’. Π­ΠΌΠ±Π»Π΅Ρ€, ΠŸΡ€Π°ΠΌΠΎΠ΄ΠΊΡƒΠΌΠ°Ρ€ Π”ΠΆ. Π‘Π°Π΄Π°Π»Π°Π΄ΠΆ. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…: ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ = Refactoring Databases: Evolutionary Database Design (Addison-Wesley Signature Series).Β β€” М.: Β«Π’ΠΈΠ»ΡŒΡΠΌΡΒ», 2007.Β β€” 368 с.Β β€” ISBN 0-321-29353-3.
  • Π”ΠΆΠΎΡˆΡƒΠ° ΠšΠ΅Ρ€ΠΈΠ΅Π²ΡΠΊΠΈ. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ с использованиСм шаблонов = Refactoring to Patterns.Β β€” Π’ΠΈΠ»ΡŒΡΠΌΡ, 2008.Β β€” 400 с.Β β€” ISBN 5-93286-045-6.

Бсылки

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” это Π½Π΅ Π·Π°Π΄Π°Ρ‡Π° Π² Backlog / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π˜Π½Ρ„ΠΎΠΏΡƒΠ»ΡŒΡ Π£ΠΊΡ€Π°ΠΈΠ½Π° / Π₯Π°Π±Ρ€

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

Когда начинаСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” Π΅Π³ΠΎ ΠΊΠΎΠ΄ чист ΠΈ прСкрасСн. Π‘Π°ΠΌΠΎΠ΅ врСмя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ красивыС абстракции, ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ интСрфСйсы ΠΈ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π–ΠΈΠ·Π½ΡŒ прСкрасна! Наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‚ΠΎΠΆΠ΅.

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

Π’Π΅ΠΌ Π½ΠΈ ΠΌΠ΅Π½Π΅Π΅, Π½Π° ΠΏΠΎΠ»ΠΎΡ‚Π½Π΅ нашСй идСальной ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ ΠΊΠΎΠ΄Π° всё-ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ нСбольшиС кляксы. НСкоторыС люди Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΈΡ… «тСхничСским Π΄ΠΎΠ»Π³ΠΎΠΌΒ». Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π°Π΄ΠΎΠ»ΠΆΠ°Π»ΠΈ: это просто Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄. Но ΠΎΠ½ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ρ€Π΅ΡˆΠ°Π΅Ρ‚ свои Π·Π°Π΄Π°Ρ‡ΠΈ.

По ΠΌΠ΅Ρ€Π΅ продолТСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°Ρ‚Ρ‹ΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ мСста Π² ΠΊΠΎΠ΄Π΅ всё Ρ‡Π°Ρ‰Π΅ ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€: Π±Ρ€ΠΎΡΠΈΡ‚ΡŒΡΡ Π³Ρ€ΡƒΠ΄ΡŒΡŽ Π½Π° Π°ΠΌΠ±Ρ€Π°Π·ΡƒΡ€Ρƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ всё начисто ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠ΅ мСсто Ρ€Π°Π΄ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ (Ρ‚ΠΎΠΉ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚). Иногда ΠΌΡ‹ бросаСмся Π² Π±ΠΎΠΉ, Π½ΠΎ всё-ΠΆΠ΅ Ρ‡Π°Ρ‰Π΅ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ.

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ случаС это замСдляСт нас лишь Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ. Но, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ приблиТСния Π΄Π΅Π΄Π»Π°ΠΉΠ½Π° трСбования ΠΊ скорости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ лишь растут, Π½Π°ΠΌ приходится постСпСнно ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΠ»Π°Π½ΠΊΡƒ своих Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ качСству ΠΊΠΎΠ΄Π° β€” ΠΈ это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ росту количСства «клякс».

Π­Ρ‚ΠΈ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ мСста (Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ старым) тормозят нас всё большС ΠΈ большС. ΠœΡ‹ осознаём Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ спСшка Π² ΠΏΠ»Π°Π½Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π½Π΅ позволяСт ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‡Ρ‘ΠΌ-Π»ΠΈΠ±ΠΎ Π΅Ρ‰Ρ‘. ΠœΡ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ большС, просто Ρ€Π°Π΄ΠΈ сохранСния ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΉ скорости.

Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Π΄Ρ€ΡƒΠ³ оказываСтся, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ пишСм, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΠΎΠ΄ΠΏΠΎΡ€ΠΎΠΊ, ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠ², Ρ…Π°ΠΊΠΎΠ² ΠΈ прСодолСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² прСпятствий, созданных Π½Π°ΠΌΠΈ ΠΆΠ΅ Ρ€Π°Π½Π΅Π΅. Π’ΡƒΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄, Ρ‚Π°ΠΌ ΠΏΠ»ΠΎΡ…ΠΎΠΉ, Π° здСсь ΠΌΡ‹ Ρ€Ρ‹Π±Ρƒ Π·Π°Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π»ΠΈ.

КаТдая ΠΏΡ€ΠΎΠ³ΡƒΠ»ΠΊΠ° ΠΏΠΎ этому ΠΌΠΈΠ½Π½ΠΎΠΌΡƒ полю вмСсто прямой Π»ΠΈΠ½ΠΈΠΈ ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ А Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ Π‘ Π²Π΄Ρ€ΡƒΠ³ становится Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΌ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠΌ ΠΏΠΎ Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚Ρƒ, Π±Π΅Π· всякой Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ достиТСния ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ. Π”Π°ΠΆΠ΅ свСрх-усилия ΡƒΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΊ Ρ†Π΅Π»ΠΈ с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅.

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΈΠ΄Π½Π° Π½Π΅Π²ΠΎΠΎΡ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌ Π³Π»Π°Π·ΠΎΠΌ. И ΠΈΡ… нСльзя ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, просто выбросив всё ΠΈ Π½Π°Ρ‡Π°Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с нуля. Нам Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ ΠΊΠΎΠ΄Π°, Π° Π½Π° эти Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ придётся ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρƒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°. Часто это врСмя Π½Π°ΠΌ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ: ΠΌΡ‹ вСдь просим врСмя для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ собствСнный ΠΊΠΎΠ΄, Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΠΆΠ΅ Π²Ρ‹Π΄Π΅Π»ΡΠ»ΠΎΡΡŒ врСмя Ρ€Π°Π½Π΅Π΅ ΠΈ ΠΎ готовности ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΆΠ΅ Ρ€Π°Π½Π΅Π΅ сами ΠΈ заявляли.

Π”Π°ΠΆΠ΅ Ссли врСмя ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ, Π½Π΅ стоит Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° быстрый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠœΡ‹ смоТСм ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ лишь Ρ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ сСйчас ΠΈ лишь Π² Ρ‚ΠΎΠΌ ΠΎΠ±ΡŠΡ‘ΠΌΠ΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Π²Π°Ρ‚ΠΈΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π° Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ). ΠœΡ‹ писали этот ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΠ½ΠΎΠ³ΠΎ нСдСль (ΠΈΠ»ΠΈ мСсяцСв), ΠΈ Ρƒ нас Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ этот ΠΊΠΎΠ΄.

Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΡ‚ ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ΄Ρ‚ΠΈ. Π”Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π΅ приносят большой ΠΈ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠΉ сразу ΠΏΠΎΠ»ΡŒΠ·Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ. Π˜Ρ… ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€ΠΎΠ΄Π°Ρ‚ΡŒ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚, Π·Π° ΠΊΠ°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ просят Π΄Π΅Π½Π΅Π³. Π’ΠΎ Π΅ΡΡ‚ΡŒ это плохая идСя. Π§Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ?


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

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


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


ΠœΠΎΠΌΠ΅Π½Ρ‚ осознания полСзности Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π΅ Ρ‚Π°ΠΊ Π΄Π°Π»Ρ‘ΠΊ, ΠΊΠ°ΠΊ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ. НСкоторыС люди Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡƒΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ спринта, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π‘ΠΈΠ»Ρ‹ нСпрСрывности ΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ процСсса Π΄Π°ΡŽΡ‚ ΠΎ сСбС Π·Π½Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ быстро. Π‘ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ с Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠœΠ•ΠΠ¬Π¨Π• Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π±Π΅Π· Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° (Π² силу ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π½Π΅Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°).

Π Π°Π±ΠΎΡ‚Π° ΠΈΠ΄Ρ‘Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅, ΠΊΠΎΠ΄ становится Ρ‡ΠΈΡ‰Π΅ ΠΈ ΠΌΡ‹ Π²Ρ‹Π΄Π°Ρ‘ΠΌ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, Ρ‡Π΅ΠΌ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π½Π΅Π΅. ВсС Π² Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ΅.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” это Π½Π΅ Π·Π°Π΄Π°Ρ‡Π° Π² Backlog, это Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π½Ρ‘ΠΌ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… / Π₯Π°Π±Ρ€

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΌΠΎΠΈΡ… ΠΊΠΎΠ»Π»Π΅Π³:

  • ΠŸΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ всю Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… с чистого JDBC Π½Π° Hibernate.
  • ΠŸΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ сСрвиса с отсылки-ΠΏΡ€ΠΈΡ‘ΠΌΠΊΠΈ сообщСний Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ (RPC).
  • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ подсистСму трансляции XML Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ€Π°Π½Ρ‚Π°ΠΉΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ? Π‘ ΠΊΠ°ΠΊΠΎΠΉ стороны ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅? НиТС прСдставлСн Π½Π°Π±ΠΎΡ€ совСтов ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π‘Π½Π°Ρ‡Π°Π»Π° Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ слова, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΠ²Π΅Ρ€Ρ…ΡŠΠ΅ΡΡ‚Π²Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ

  • Π Π°Π·Π±ΠΈΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° части, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Если Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ совСты ΠΏΡ€ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли это Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ.
  • ΠŸΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ добавлСния Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΠΈΡ‡Π΅ΠΉ Π² подсистСму Π±ΡƒΠ΄Π΅Ρ‚ минимальна. НапримСр, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ бэкСнд, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ всС усилия ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сосрСдоточСны Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅.
  • Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ΅Π½. Какая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π·Π°Π»ΠΎΠΆΠ΅Π½Π° Π² основании подсистСмы, ΠΊΠ°ΠΊΠΈΠ΅ стандартныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΌ использовались. Π§Ρ‘Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ для сСбя, Π² Ρ‡Ρ‘ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ новая концСпция, ΠΈ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ. Π”ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ измСряСмая Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Π°Ρ Ρ†Π΅Π»ΡŒ.
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. По возмоТности ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Ρ‘ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ/Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ. Π­Ρ‚ΠΎ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.
  • Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π±Π΅Π· тСстов Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ опасно. Π£ вас Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ тСсты. Как Π±Π΅Π· Π½ΠΈΡ… ΠΆΠΈΡ‚ΡŒ я Π½Π΅ знаю.
  • ЗапуститС тСсты с подсчётом покрытия, это даст ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ.
  • ΠŸΠΎΡ‡ΠΈΠ½ΠΈΡ‚Π΅ сломанныС тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ искомой подсистСмС.
  • Анализируя ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄. Как Π½ΠΈ странно, Ρ‚Π°ΠΊΠΎΠ³ΠΎ часто Π±Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎ 10-15%. Π§Π΅ΠΌ большС ΠΊΠΎΠ΄Π° удастся ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ, Ρ‚Π΅ΠΌ мСньшС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ. ΠŸΡ€ΠΎΡ„ΠΈΡ‚!
  • По ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ части ΠΊΠΎΠ΄Π° Π½Π΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹. Надо Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ тСсты. Если ΡŽΠ½ΠΈΡ‚ тСсты ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠ»Π³ΠΎ ΠΈ ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅, хотя Π±Ρ‹, высокоуровнСвыС smke тСсты.
  • ΠŸΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ довСсти ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΎ 80-90% осмыслСнного ΠΊΠΎΠ΄Π°. НС Π½Π°Π΄ΠΎ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ всС. Π£Π±ΡŒΡ‘Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с ΠΌΠ°Π»ΠΎΠΉ пользой. ΠŸΠΎΠΊΡ€ΠΎΠΉΡ‚Π΅ хотя Π±Ρ‹ основной ΠΏΡƒΡ‚ΡŒ выполнСния.
Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

  • ΠžΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ Π²Π°ΡˆΡƒ подсистСму интСрфСйсом. ΠŸΠ΅Ρ€Π΅Π²Π΅Π΄ΠΈΡ‚Π΅ вСсь внСшний ΠΊΠΎΠ΄ Π½Π° использованиС этого интСрфСйса. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ форсируСт ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ программирования, Π½ΠΎ ΠΈ упростит Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³.
  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваши тСсты Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ интСрфСйс, Π° Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.
  • Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ стартС ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ этого интСрфСйса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈ Π² тСстах ΠΈ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π΅.
  • Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π΅Π²ΠΈΠ·ΠΈΡŽ систСмы контроля вСрсий, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ написаниС Π½ΠΎΠ²ΠΎΠΉ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π‘ этой сСкунды ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π²Π°ΡˆΡƒ ΡΡ‚Π°Ρ€ΡƒΡŽ подсистСму – ваш Π²Ρ€Π°Π³.
  • ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ интСрфСйса вашСй подсистСмы. Иногда ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с нуля, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ·Π»ΡŽΠ±Π»Π΅Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” copy&paste. ΠŸΠΈΡΠ°Ρ‚ΡŒ Π΅Ρ‘ Π½Π°Π΄ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅. ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈ гоняйтС тСсты Π½Π° Π½ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Π°ΡˆΠ° Ρ†Π΅Π»ΡŒ β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС тСсты ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π½Π° Π½ΠΎΠ²ΠΎΠΉ ΠΈ старой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • НС Π½Π°Π΄ΠΎ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ всё ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅. Π—Π°Π»ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π°Ρ‰Π΅, оставляя Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ€ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Если Π΄ΠΎΠ»Π³ΠΎ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² загашникС, ΠΌΠΎΠΆΠ½ΠΎ огрСсти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди рСфакторят ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π°ΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.
  • НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСсты, спСцифичныС для Π½ΠΎΠ²ΠΎΠΉ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ссли Ρ‚Π°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ.
  • ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ всё Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅, ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ SVN Π² ΠΏΠ°ΠΏΠΊΠ΅ со старым ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ мСнялось Π·Π° врСмя вашСго Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Надо пСрСнСсти эти измСнСния Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄. По ΠΈΠ΄Π΅Π΅, Ссли Π²Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π·Π°Π±Ρ‹Π»ΠΈ пСрСнСсти, тСсты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ это ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ.
  • ПослС этого, всС тСсты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ со старой, Ρ‚Π°ΠΊ ΠΈ с Π½ΠΎΠ²ΠΎΠΉ подсистСмой.
  • Π‘Ρ€Π°Π·Ρƒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½ΠΎΠ²ΠΎΠΉ вСрсии вашСго модуля, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π½Π° Π½Π΅Π³ΠΎ тСсты ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½. Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΡΡ‚Π°Ρ€ΡƒΡŽ подсистСму. ВсСми силами ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя сущСствования Π΄Π²ΡƒΡ… подсистСм Π² ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒ.
  • ΠŸΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ нСдСлю ΠΈΠ»ΠΈ Π΄Π²Π΅, собСритС всё Π±Π°Π³Π»ΠΎ, Π·Π°Ρ‡ΠΈΠ½ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΈ смСло удаляйтС ΡΡ‚Π°Ρ€ΡƒΡŽ подсистСму.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ совСты

  • ВсС Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ, создаваСмыС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ тСстами Π½Π° 100%. Π­Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½Π° Π½ΠΎΠ²ΡƒΡŽ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, ΡƒΠΏΠ°Π»ΠΈ тСсты ΠΈ сигнализировали ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄Π° ΠΈΠ· старой.
  • Π›ΡŽΠ±ΠΎΠΉ фикс Π±Π°Π³Π° Π½Π°Π΄ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ β€” сначала пишСм тСст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈ ΠΏΠ°Π΄Π°Ρ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌ Π΅Π³ΠΎ Ρ‡ΠΈΠ½ΠΈΠΌ. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Ρ‚Π΅ ΠΆΠ΅ самыС.
  • Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ систСму Π°-ля TeamCity, Π½Π° врСмя Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ сдСлайтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±ΠΈΠ»Π΄, Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π³ΠΎΠ½ΡΡ‚ΡŒΡΡ всС тСсты Π½Π° Π½ΠΎΠ²ΠΎΠΉ подсистСмС. АвтоматичСский Π±ΠΈΠ»Π΄ Π΄Π΅Π»Π°Π΅Ρ‚ ваш Π½ΠΎΠ²Ρ‹ΠΉ, Π΅Ρ‰Ρ‘ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ, ΠΊΠΎΠ΄ Β«ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΒ». К Π½Π΅ΠΌΡƒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ всС Ρ‚Π΅ ΠΆΠ΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠΎ всСму ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌΡƒ.
  • Часто Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, исправили Π»ΠΈ Π²Ρ‹ всё, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π² старом ΠΊΠΎΠ΄Π΅ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. НапримСр, Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΈ ваш ΠΊΠΎΠ΄ Π³Π΄Π΅-Ρ‚ΠΎ прямоС JDBC ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, вмСсто Hibernate. Или Π²Π΄Ρ€ΡƒΠ³ Π³Π΄Π΅-Ρ‚ΠΎ ΠΏΡ€ΠΎΡΠΊΠΎΠ»ΡŒΠ·Π½ΡƒΠ»ΠΎ сообщСниС, Π° Π½Π΅ RPC Π²Ρ‹Π·ΠΎΠ². Для обнаруТСния Ρ‚Π°ΠΊΠΈΡ… мСст Π½Π°Π΄ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ. Π’.Π΅. ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ Π΅Ρ‘ Π² тСстах. НапримСр, ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ систСму доставки сообщСний ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΡƒΠ½ΡƒΡ‚ΡŒ систСмС Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ JDBC Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΡˆΡ‚ΡƒΠΊ 5 Π·Π°Π±Ρ‹Ρ‚Ρ‹Ρ… ΠΈ Π½Π΅ исправлСнных мСст.
  • ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ программистами, Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ ΠΈΡ… Π² курсС вашСго прогрСсса. Если ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ нСдСля, ΠΎΠ½ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ свои Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½ΠΎΠ²ΠΎΠΉ вСрсии вашСй подсистСмы. НС Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΠΈΠ²Π°Ρ‚ΡŒ измСнСния.

ΠžΠΏΡ‹Ρ‚ подсказываСт, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ ΡΡ‚Ρ€Π°ΡˆΠ½Ρ‹Π΅ ΠΈ большиС подсистСмы ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ°Π»ΠΎΠΉ ΠΊΡ€ΠΎΠ²ΡŒΡŽ. Π“Π»Π°Π²Π½Ρ‹Π΅ ваши ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ, это тСсты ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ β€” ВикипСдия. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

РСфа́кторинг (Π°Π½Π³Π».Β refactoring), ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΠ΄Π°, Ρ€Π°Π²Π½ΠΎΡΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ²Β β€” процСсс измСнСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π΅Ρ‘ внСшнСго повСдСния ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ†Π΅Π»ΡŒΡŽ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρ‹[1][2]. Π’ основС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… эквивалСнтных (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ малСнькоС, программисту Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΈ Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя вся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сущСствСнной пСрСстройкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ Π΅Ρ‘ согласованности ΠΈ чёткости.

Π¦Π΅Π»ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

ЦСль Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°Β β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ для понимания; Π±Π΅Π· этого Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ нСльзя ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ слСдуСт ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΎΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Как ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, оптимизация ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ измСняСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ускоряСт Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Но оптимизация часто затрудняСт ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ[3].

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΎΡ‚ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ осущСствляСтся для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΡΡŽΡ‚ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ примСнСния Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ постоянно ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π°. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ стимулами Π΅Π³ΠΎ провСдСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  1. Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая нСдостаточно укладываСтся Π² принятоС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅;
  2. Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ возникновСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сразу Π½Π΅ ясны;
  3. ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΈΠ΅ трудностСй Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ обусловлСны слоТной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΡ€ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΠ½Ρ‚ΡƒΠΈΡ†ΠΈΡŽ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° ΠΎΠΏΡ‹Ρ‚Π΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΊΠΎΠ΄Π΅ (Π°Π½Π³Π».Β code smells), Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

  1. Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°;
  2. Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄;
  3. большой класс;
  4. Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²;
  5. Β«ΠΆΠ°Π΄Π½Ρ‹Π΅Β» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ обращаСтся ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°;
  6. ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅;
  7. классы Π΄Π°Π½Π½Ρ‹Ρ…;
  8. нСсгруппированныС Π΄Π°Π½Π½Ρ‹Π΅.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· измСнСния Π΅Π³ΠΎ внСшнСго повСдСния. Π’ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π³ΠΈΠ±ΠΊΠΈΡ… мСтодологиях Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ тСсты ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π΅Π³ΠΎ логичности ΠΈ прозрачности. АвтоматичСскоС ΡŽΠ½ΠΈΡ‚-тСстированиС позволяСт ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π΅ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΠ» ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для исправлСния ошибок ΠΈ добавлСния Π½ΠΎΠ²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ мСняСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния[3] ΠΈ это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Он выполняСтся для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ понятности ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ измСнСния Π΅Π³ΠΎ структуры, для удалСния Β«ΠΌΡ‘Ρ€Ρ‚Π²ΠΎΠ³ΠΎ кода» — всё это для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΊΠΎΠ΄ Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ. Π’ частности, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ повСдСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТным с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ структурой — Π² этом случаС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, Π° ΡƒΠΆΠ΅ Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

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

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

НаиболСС ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠΌΡ‹Π΅[4] ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

ИзмСнСниС сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (Change Method Signature)

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

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ поля (Encapsulate field)

Π’ случаС, Ссли Ρƒ класса имССтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступа. ПослС Β«Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΠΈ поля» часто примСняСтся Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Β».

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

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (Move Method)

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° примСняСтся ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡Π°Ρ‰Π΅ обращаСтся ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ классу, Ρ‡Π΅ΠΌ ΠΊ Ρ‚ΠΎΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ сам располагаСтся.

Π—Π°ΠΌΠ΅Π½Π° условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ (Replace Conditional with Polymorphism)

Условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ с нСсколькими вСтвями замСняСтся Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ подклассы для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Ρ‚Π²ΠΈ исходного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π’Ρ‹Π±ΠΎΡ€ Π²Π΅Ρ‚Π²ΠΈ осущСствляСтся нСявно, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, экзСмпляру ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ· подклассов оказался адрСсован Π²Ρ‹Π·ΠΎΠ².

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹:

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

  • ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, связанныС с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;
  • ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ измСнСния интСрфСйсов;
  • трудности ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π°.

БрСдства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

ВСхничСскиС ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ для инструмСнтов Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

  • Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;
  • Π΄Π΅Ρ€Π΅Π²ΡŒΡ синтаксичСского Ρ€Π°Π·Π±ΠΎΡ€Π°;
  • Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ для инструмСнтов Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

  • ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ;
  • ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ;
  • интСграция с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ инструмСнтами.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°

  • Π€Π°ΡƒΠ»Π΅Ρ€ М., Π‘Π΅ΠΊ К., Π‘Ρ€Π°Π½Ρ‚ Π”., РобСртс Π”., Апдайк Π£. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³: ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° = Refactoring: Improving the Design of Existing Code (2000).Β β€” Π‘ΠΏΠ±: Π‘ΠΈΠΌΠ²ΠΎΠ»-Плюс, 2009.Β β€” 432 с.Β β€” 3000 экз.Β β€” ISBN 5-93286-045-6.
  • Π‘ΠΊΠΎΡ‚Ρ‚ Π’. Π­ΠΌΠ±Π»Π΅Ρ€, ΠŸΡ€Π°ΠΌΠΎΠ΄ΠΊΡƒΠΌΠ°Ρ€ Π”ΠΆ. Π‘Π°Π΄Π°Π»Π°Π΄ΠΆ. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…: ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ = Refactoring Databases: Evolutionary Database Design (Addison-Wesley Signature Series).Β β€” М.: Β«Π’ΠΈΠ»ΡŒΡΠΌΡΒ», 2007.Β β€” 368 с.Β β€” ISBN 0-321-29353-3.
  • Π”ΠΆΠΎΡˆΡƒΠ° ΠšΠ΅Ρ€ΠΈΠ΅Π²ΡΠΊΠΈ. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ с использованиСм шаблонов = Refactoring to Patterns.Β β€” Π’ΠΈΠ»ΡŒΡΠΌΡ, 2008.Β β€” 400 с.Β β€” ISBN 5-93286-045-6.

Бсылки

Код с Π΄ΡƒΡˆΠΊΠΎΠΌ (Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ М. Π€Π°ΡƒΠ»Π΅Ρ€Π°) / Π₯Π°Π±Ρ€

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚.

НСбольшая ΡˆΠΏΠ°Ρ€Π³Π°Π»ΠΊΠ° для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΈ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΡ‚ΠΎ Π·Π°Π±Ρ‹Π», ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π΅ Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π€Π°ΡƒΠ»Π΅Ρ€.

Π—Π°Ρ‡Π΅ΠΌ? Когда ΠΈ ΠΊΠ°ΠΊ?

Π’ΡƒΡ‚ особо ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π½Π΅ хочСтся, Ρ‚.ΠΊ. всё зависит ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²: знания, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ, сроки, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Ρ‚.Π΄. ΠΈ Ρ‚.ΠΏ.
Π“Π»Π°Π²Π½ΠΎΠ΅ Ρ‡Π΅Π³ΠΎ стоит Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всё Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΠΌΠ΅Ρ€Ρƒ.

Код с Π΄ΡƒΡˆΠΊΠΎΠΌ

ΠžΡ‚ Ρ‡Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΠΈΠ·Π±Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² процСссС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ ΠΏΡ€ΠΈ написании Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

  1. Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.
  2. Π”Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.
  3. Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ класс.
  4. Π”Π»ΠΈΠ½Π½Ρ‹ΠΉ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  5. РасходящиСся ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

    Если ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° приходится ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π² классС.
  6. Π‘Ρ‚Ρ€Π΅Π»ΡŒΠ±Π° Π΄Ρ€ΠΎΠ±ΡŒΡŽ.

    Если ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° приходится Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ измСнСния Π² большоС число классов.
  7. ЗавистливыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

    ΠœΠ΅Ρ‚ΠΎΠ΄ интСрСсуСтся большС Π½Π΅ Ρ‚Π΅ΠΌ классом, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится, Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ.
  8. Π“Ρ€ΡƒΠΏΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

    ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² Ρ€Π°Π·Π½Ρ‹Ρ… частях ΠΊΠΎΠ΄Π°.
  9. ΠžΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΡΡ‚ΡŒ элСмСнтарными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ.
  10. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠ° switch.

    НСзабываСм ΠΏΡ€ΠΎ ООП.
  11. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ наслСдования.

    Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.
  12. Π›Π΅Π½ΠΈΠ²Ρ‹ΠΉ класс.

    НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈΠ»ΠΈ содСрТащий ΠΌΠ°Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ послС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°/проСктирования).
  13. ВСорСтичСская ΠΎΠ±Ρ‰Π½ΠΎΡΡ‚ΡŒ.

    ΠŸΠ΅Ρ€Π΅ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΠΊ абстракциями Ρ‚ΠΎΠΆΠ΅ Π²Ρ€Π΅Π΄Π΅Π½.
  14. Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅.

    Если Ρƒ класса Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΈΠ· пяти, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΡ‚ самый ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π° Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· конструктор ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ.
  15. Π¦Π΅ΠΏΠΎΡ‡ΠΊΠ° сообщСний.

    Глубокая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов.
  16. ΠŸΠΎΡΡ€Π΅Π΄Π½ΠΈΠΊ.

    Π‘ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класс Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ классу.
  17. НСумСстная Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ.

    ΠšΠ»Π°ΡΡΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π°Ρ€ΡƒΠΆΡƒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ части, Ρ‚.Π΅. Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΊΡƒΡ…Π½ΡŽ. ΠŸΡ€ΠΈ наслСдовании, подклассы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅.
  18. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ классы с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ интСрфСйсами.

    Π”ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ.
  19. НСполнота Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠ³ΠΎ класса.

    НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… классов: extension ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ Π΄Π΅ΠΊΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠ³ΠΎ класса.
  20. ΠšΠ»Π°ΡΡΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

    Π”Π΅Π»ΠΈΡ‚Π΅ Π½Π° логичСскиС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. Доступ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ осмыслСнным.
  21. ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ наслСдства.

    Если наслСднику Π½ΡƒΠΆΠ½Π° лишь малая Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²) ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅.
  22. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

    Π‘Π²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΊΠΎΠ΄Π° с Β«Π·Π°ΠΏΠ°Ρ…ΠΎΠΌΒ», Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ΄ остаётся Π½Π° Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ»ΠΈ описываСт слоТныС манипуляции

Π― Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠΆΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π° Π±Π°Π·Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ описано Π² ΠΊΠ½ΠΈΠ³Π΅. А с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΎΠΏΡ‹Ρ‚Π°, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своё.
Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π΄Π°Π»Π΅Π΅, Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°: БоставлСниС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Какой ΠΏΡ€ΠΎΡ„ΠΈΡ‚.

ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² написании тСстов.

ПослСсловиС

Π”ΠΎΠ±Π°Π²Π»ΡŽ, Ρ‡Ρ‚ΠΎ это лишь Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ.
Π’ зависимости ΠΎΡ‚ слоТности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π² Π½Ρ‘ΠΌ, Π½Π° АрСну Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ тяТСловСсныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

Π§Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ± этом

ПониманиС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°: взгляд тСстировщика

Π’Π΅Ρ€ΠΌΠΈΠ½ Β«Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Β» Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обозначСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ очистки / Ρ€Π΅Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠ΄Π°.

Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΉΠΌΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, обсудим Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π° ΠΈ рассмотрим влияниС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ обсудим ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° самый Π³Π»Π°Π²Π½Ρ‹ΠΉ вопрос — Π—Π°Ρ‡Π΅ΠΌ тСстировщику Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅?

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ обсудим нСсколько тСматичСских исслСдований, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ — это, ΠΏΠΎ сути, ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΈΠ»ΠΈ процСсс ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΈ / ΠΈΠ»ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ сохранСнии ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ИдСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ нСэффСктивный ΠΈ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ слоТный ΠΊΠΎΠ΄ Π² Π±ΠΎΠ»Π΅Π΅ эффСктивный, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ простой ΠΈ Π»Π΅Π³ΠΊΠΈΠΉ ΠΊΠΎΠ΄.

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

ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°

Если ΠΌΡ‹ сохраняСм ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ прилоТСния ΠΈΠ»ΠΈ модуля, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ? Π§Ρ‚ΠΎ ΠΆ, сущСствуСт мноТСство ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ модуля ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  1. Код ΠΏΠ°Ρ…Π½Π΅Ρ‚
  2. ВСхничСский Π΄ΠΎΠ»Π³
  3. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ Π³ΠΈΠ±ΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ Ρ‚. Π”.

ΠœΡ‹ обсудим эти ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

# 1) Код Π—Π°ΠΏΠ°Ρ…ΠΈ:

ΠœΡ‹ всС ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π΅Π΄Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠ°Ρ…Π½ΡƒΡ‚ΡŒ, это ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π°, скорСС всСго, ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΠ»Π°ΡΡŒ — это Π²Π΅Ρ€Π½ΠΎ ΠΈ для ΠΊΠΎΠ΄Π°! Π—Π°ΠΏΠ°Ρ…ΠΈ ΠΊΠΎΠ΄Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ Π·Π°ΠΏΠ°Ρ…ΠΈ ΠΊΠΎΠ΄Π°:

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

ΠšΠΎΠ΄ΠΎΠ²Ρ‹Π΅ Π·Π°ΠΏΠ°Ρ…ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ становятся Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ.По ΠΌΠ΅Ρ€Π΅ роста прилоТСния ΠΈΠ»ΠΈ систСмы эти Π·Π°ΠΏΠ°Ρ…ΠΈ ΠΊΠΎΠ΄Π° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, обслуТиваниС ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы Π² ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… сцСнариях.

# 2) ВСхничСский Π΄ΠΎΠ»Π³:

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

Рассмотрим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. ПослС обсуТдСния ΠΊΠΎΠΌΠ°Π½Π΄Π° суТаСт 2 ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ добавлСнию этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ A, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ 2 спринтов для выполнСния, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½Ρ‹ΠΌ долгосрочным ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ B Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всСго 5 Π΄Π½Π΅ΠΉ ΠΈ прСдставляСт собой Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΈ ТСстко Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ хакСрский ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для краткосрочного обслуТивания модуля.

Если ΠΊΠΎΠΌΠ°Π½Π΄Π° находится ΠΏΠΎΠ΄ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ B Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ A Π² список Π½Π΅Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ Π½Π° Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅. Π’Π΅ΠΌ самым эта ΠΊΠΎΠΌΠ°Π½Π΄Π° просто создала сСбС тСхничСский Π΄ΠΎΠ»Π³.

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

УнаслСдованныС систСмы со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ тСхничСскиС Π΄ΠΎΠ»Π³ΠΈ, Ρ‡Ρ‚ΠΎ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ уязвимым ΠΊ сбоям ΠΈ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ обслуТиваниС.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ => Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ тСхничСский ΠΎΡ‚Π΄Π΅Π»

# 3) БлСдуя ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ Π³ΠΈΠ±ΠΊΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния:

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

Π­Ρ‚Π° взаимосвязь ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅

РСкомСндуСтся ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ => ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ инструмСнты Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°

ΠŸΠΎΡ‡Π΅ΠΌΡƒ QA Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅?

ВсС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ обсуТдали Π΄ΠΎ сих ΠΏΠΎΡ€ Π² этом руководствС, ΠΏΠΎΡ…ΠΎΠΆΠ΅, связано с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚Π΅ Π²Π΅Ρ‰ΠΈ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ.

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

# 1) Для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… тСстировщиков / Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

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

# 2) Для тСстировщиков

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

  • Для тСстировщика Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ = ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠ΅ тСстированиС + рСгрСссионноС тСстированиС. Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ тСстированиС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ всС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Ρ€Π°Π½ΡŒΡˆΠ΅.РСгрСссионноС тСстированиС всСго прилоТСния (ΠΈΠ»ΠΈ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Ρ… областСй) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ модуля Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠΌΡƒ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.
  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΡ‡Π½Ρ‹Π΅ тСсты Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°ΠΆΠ½Ρ‹, ΠΈ эти тСсты Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ сборка Π±ΡƒΠ΄Π΅Ρ‚ объявлСна ​​готовой ΠΊ выпуску.
  • ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ тСсты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹Π΅ тСсты, тСст бСзопасности ΠΈ Ρ‚. Π”., Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости.

# 3) Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ сбою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π΅Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариСв Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

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

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

Как Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ тСстов Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΏΠΎ автоматичСскому Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ чистый ΠΈ простой Π² обслуТивании ΠΊΠΎΠ΄. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ IDE, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ IntelliJ IDEA, Eclipse ΠΈ Ρ‚. Π”., Π’ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ встроСнноС мСню Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° с часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° для удобства.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ снимок экрана мСню Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π² IntelliJ IDEA (Community Edition).

# 4) Для Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ тСстирования / Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ качСства

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ обсудим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΠ· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρƒ мСня Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ прямо ΠΈΠ»ΠΈ косвСнно.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ # 1

Π—Π°Π΄Π°Ρ‡Π°: Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ модуля для Π·Π°ΠΌΠ΅Π½Ρ‹ ТСстко Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ добавлСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² для Π½ΠΎΠ²ΠΎΠ³ΠΎ инструмСнта автоматичСского создания тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

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

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ : Π‘Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ тСстовыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ для модуля, ΠΏΠΎΠ΄Π²Π΅Ρ€Π³ΡˆΠ΅Π³ΠΎΡΡ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ, ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ извСстных Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Ρ… областСй. О Π»ΡŽΠ±Ρ‹Ρ… Π΄Π΅Ρ„Π΅ΠΊΡ‚Π°Ρ… ΡΠΎΠΎΠ±Ρ‰Π°Π»ΠΎΡΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΠ»ΠΎΡΡŒ Π΄ΠΎ выпуска.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„– 2

Π—Π°Π΄Π°Ρ‡Π° : Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ для облСгчСния ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ прилоТСния.

Π₯ранимая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π² этом сцСнарии Π±Ρ‹Π»Π° Π±ΠΎΠ»Π΅Π΅ старой Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ, которая Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° нСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ трСбования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ использовало свою Ρ…Ρ€Π°Π½ΠΈΠΌΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ 10 ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ сСансами.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ компания Ρ…ΠΎΡ‚Π΅Π»Π° ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΊΠ°ΠΊ услуга» (SaaS) с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ объСмом ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… сСансов Π² 300 ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ.

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

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

# 1) ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° / Аналитик ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

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

# 2) Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ‡Π΅Ρ‚ΠΊΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ бизнСс-ΠΏΡ€Π°Π²ΠΈΠ».
  • ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° ΠΊΠΎΠ΄Π° Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ работоспособности.
  • НСизвСстныС Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ области ΠΈ / ΠΈΠ»ΠΈ зависимости ΠΊΠΎΠ΄Π°.
  • НСвозмоТно ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  • НСобходимо ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты.

# 3) Для тСстировщиков

  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ‡Π΅Ρ‚ΠΊΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ бизнСс-ΠΏΡ€Π°Π²ΠΈΠ» влияСт Π½Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСстирования.
  • НСизвСстныС Π·ΠΎΠ½Ρ‹ воздСйствия ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΡƒΠ΄Π°Ρ€Π½Ρ‹Ρ… испытаний, особСнно для рСгрСссионных испытаний.
  • НСвозмоТно ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ испытаний.

# 4) ЗаинтСрСсованныС стороны

  • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Ρ‡Π΅Ρ‚ΠΊΠΎ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ / ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ + сТатыС сроки = Π±ΠΎΠ»Π΅Π΅ высокий риск ΠΎΡ‚ΠΊΠ°Π·Π°.

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ придСрТиваСтся Π³Ρ€ΡƒΠΏΠΏΠ° для сниТСния рисков ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ :

(i) Команда слСдовала совмСстному ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ для сбора Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ : ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° / Аналитик ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ тСстировщики Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π² тСсном сотрудничСствС с Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ рассмотрСли ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с трСбованиями. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано Π΄ΠΎ дня старта спринта.

(ii) Π‘Ρ‹Π»Π° создана Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ тСстовая срСда для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ вносимых ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. : НазовСм эти срСды Gamma ΠΈ Phi. Π£ Gamma Π±ΡƒΠ΄Π΅Ρ‚ старый ΠΊΠΎΠ΄, Π° Ρƒ Phi всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π° послСдняя рСорганизованная хранимая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°.

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

Команда прСдоставила трСбования для Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ тСстовой срСды, которая Π±Ρ‹Π»Π° прСдоставлСна ​​до Π΄Π°Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»Π° спринта.

(iii) ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈ заинтСрСсованныС стороны, ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ Π² тСстировании Π½Π° Ρ€Π°Π½Π½Π΅ΠΌ этапС : Π»ΡŽΠ±Ρ‹Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Ρ‹Π»ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΈ сообщСны Π½Π° Ρ€Π°Π½Π½Π΅ΠΌ этапС, Ρ‡Ρ‚ΠΎ Π΄Π°Π»ΠΎ Π³Ρ€ΡƒΠΏΠΏΠ΅ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для развСртывания ΠΈ тСстирования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ исправлСния.

(iv) ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈ ΠΈΡ… соблюдСниС: ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π±Ρ‹Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… этапах планирования — ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ 80% ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², критичСских ошибок Π½Π΅Ρ‚, дСмонстрация ΠΈ подписаниС заинтСрСсованных сторон ΠΏΠ΅Ρ€Π΅Π΄ выпуском.

(v) Установка ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΉ Π΄Π°Ρ‚Ρ‹ выпуска: Установка согласованной Π΄Π°Ρ‚Ρ‹ выпуска ΠΈ мотивация ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π΅Ρ…Π½Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ спринт вмСсто ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π΄Π²ΡƒΡ…Π½Π΅Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ достаточно Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для выполнСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

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

Подводя ΠΈΡ‚ΠΎΠ³, Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° — это процСсс очистки / упрощСния Π΄ΠΈΠ·Π°ΠΉΠ½Π° модуля Π±Π΅Π· измСнСния Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ простым, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ отступа, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ статичСской ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Ρ‚. Π”., Или ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТным для слоТных ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… систСм.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½ΡƒΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π² Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π΅ ΠΈΠ·-Π·Π° Π·Π°ΠΏΠ°Ρ…Π° ΠΊΠΎΠ΄Π°, тСхничСской задолТСнности ΠΈΠ»ΠΈ слСдования Π³ΠΈΠ±ΠΊΠΎΠΌΡƒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Для тСстировщиков Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ = ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠ΅ тСстированиС + рСгрСссионноС тСстированиС.

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

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

Об Π°Π²Ρ‚ΠΎΡ€Π΅: Π­Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ руководство написано НСхой Π‘. Π’ настоящСС врСмя ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ качСства ΠΈ спСциализируСтся Π½Π° руководствС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ ΠΈ внСшними Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ контроля качСства.

Π Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π»ΠΈ Π²Ρ‹ Π½Π°Π΄ слоТным ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π» Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ модуля / прилоТСния? Если Π΄Π°, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Ρ‡Ρ‚ΠΎΠ±Ρ‹ наши ΠΊΠΎΠ»Π»Π΅Π³ΠΈ-тСстировщики ΠΌΠΎΠ³Π»ΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ.

.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° | Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°

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

Говорят, Π½Π΅ Ρ‡ΠΈΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΠΊΠ° Π½Π΅ сломаСтся. ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ устарСл.

А Π²ΠΎΡ‚ ΠΊΠ°ΠΊ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°?

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

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

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΅Π³ΠΎ пСрСписываниС. Π­Ρ‚ΠΈ Π΄Π²Π° понятия часто ΠΏΡƒΡ‚Π°ΡŽΡ‚, Π½ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ довольно проста: ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅, Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° Π½Π΅ влияСт Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Π° Π΅Π³ΠΎ пСрСписываниС — Π½Π°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ΅Π½ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ вашСго ΠΊΠΎΠ΄Π°?

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ выяснили, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³? ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ для Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ вас ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ извСстно ΠΊΠ°ΠΊ понятиС Π·Π°ΠΏΠ°Ρ…Π° ΠΊΠΎΠ΄Π°.Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ нСсколько Π²Π΅Ρ‰Π΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ Ρ‚. Π”. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, это влияСт Π½Π° Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠŸΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Ρ‚ΠΈΠΊΠ°ΡŽΡ‰Π΅ΠΉ Π±ΠΎΠΌΠ±Π΅. Когда ΠΎΠ½ взорвСтся, ΡƒΡ‰Π΅Ρ€Π± Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ ΠΈ дорогостоящим.

  • Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°

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

  • Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΈ дСньги Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ

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

  • Для сокращСния вашСго тСхничСского Π΄ΠΎΠ»Π³Π°

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

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

Когда Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³?

  • Если большС Π½Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

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

  • Когда происходит Ρ€Π΅Π·ΠΊΠΈΠΉ тСхнологичСский скачок

Часто пСрспСктивная тСхнология сразу устарСваСт. Winamp, ICQ, Internet Explorer Π±Ρ‹Π»ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌΠΈ Ρ€Ρ‹Π½ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π±Π΅Π· сомнСния, Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΡΡ‚Ρ€Π°Π΄Π°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° появятся Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠ°ΠΊ Π½ΠΈΡ‡Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ постоянно Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌΡƒΡΡ Ρ€Ρ‹Π½ΠΊΡƒ, поэтому частыС Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³ΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΆΠ΅Π»Π°ΡŽΡ‰Π΅ΠΉ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ.

  • Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ

Π Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° — это Π½Π΅ просто срСдство ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π»ΠΈΠ΄Π΅Ρ€ΠΎΠΌ Ρ€Ρ‹Π½ΠΊΠ°. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ способ ΠΈΠΌ ΡΡ‚Π°Ρ‚ΡŒ. Если Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ для вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, содСрТит ошибки, часто Π΄Π°Π΅Ρ‚ сбой ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΈΡ€ΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ эффСктивным.

Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ: Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π² Agile

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

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

  • НС Ρ‚ΠΎΡ€ΠΎΠΏΠΈΡ‚Π΅ΡΡŒ, шаг Π·Π° шагом

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

  • ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‡Π΅Ρ€Π΅Π· тСстированиС

Часто Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ появлСнию Π½ΠΎΠ²Ρ‹Ρ… ошибок. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ…, Π²Ρ‹ всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎ врСмя Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, всСгда ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас достаточно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… тСстовых случаСв.

  • ВсСгда Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΠ΅Ρ€Π΅Π΄ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

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

  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

Как ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ всС, Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ выполняСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΠΈ эффСктивнСС, Ссли выполняСтся автоматичСски. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ряд IDE (ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ) ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ автоматичСского Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Одними ΠΈΠ· самых популярных ΡΠ²Π»ΡΡŽΡ‚ΡΡ Eclipse, IntelliJ IDEA, VSCode для Frontend ΠΈ Visual Studio IDE для.Π‘Π΅Ρ‚ΡŒ.

  • Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

НС ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ Π½Π΅ ΠΏΡ€ΠΈ Ρ‡Π΅ΠΌ. Π’ΠΎ врСмя Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π”Π΅Π»ΠΎ Π½Π΅ Π² этом. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш ΠΊΠΎΠ΄ Π±Ρ‹Π» чистым ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ врСмя Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ЦСль Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π° довольно ясна — ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ чистым, Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΈ упорядочСнным. Π’Ρ‹ Π½Π΅ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ Π²Ρ‹Π³ΠΎΠ΄Ρƒ ΠΎΡ‚ этого, Π½ΠΎ Π² долгосрочной пСрспСктивС это Π±ΡƒΠ΄Π΅Ρ‚ стоящая инвСстиция Π² ваш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ свой ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ — ΠΏΠΎΡ€ΡƒΡ‡ΠΈΡ‚Π΅ Π°ΡƒΠ΄ΠΈΡ‚ Π½Π°ΡˆΠ΅ΠΌΡƒ экспСрту, высококвалифицированному ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρƒ-программисту.

.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°? Как Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ тСхничСский Π΄ΠΎΠ»Π³ — BMC Blogs

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

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

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассматриваСм Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ способ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ тСхничСский Π΄ΠΎΠ»Π³.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° опрСдСляСтся ΠΊΠ°ΠΊ процСсс рСструктуризации ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±Π΅Π· измСнСния ΠΈΠ»ΠΈ добавлСния Π΅Π³ΠΎ внСшнСго повСдСния ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

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

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°

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

ЭкспСрты говорят, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π° — ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ грязный ΠΊΠΎΠ΄ Π² чистый, Ρ‡Ρ‚ΠΎ сниТаСт ΠΎΠ±Ρ‰ΠΈΠΉ тСхничСский Π΄ΠΎΠ»Π³ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

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

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

НСкоторыС Ρ‚ΠΈΠΏΡ‹ грязного ΠΊΠΎΠ΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

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

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

Когда ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ подходящСС врСмя для Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ слоТно. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡΡ€Π΅Π·Π°Ρ‚ΡŒ ΡƒΠ³Π»Ρ‹ Π² своСм ΠΊΠΎΠ΄Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Если Π²Ρ‹ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, которая совмСстно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТнСС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, поэтому Π²ΠΎΡ‚ нСсколько совСтов:

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

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

Бпособы Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

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

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

КакиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, часто зависит ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² вашСм ΠΊΠΎΠ΄Π΅. Π’ΠΎΡ‚ нСсколько распространСнных Ρ‚Π΅Ρ…Π½ΠΈΠΊ:

  • Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ, ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ измСнСния Π² ΠΊΠΎΠ΄Π΅.
  • Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ условных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ становятся Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ слоТными, ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ интСрфСйсы для взаимодСйствия классов.
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ распрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ классами. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ бСзопасноС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, созданиС Π½ΠΎΠ²Ρ‹Ρ… классов ΠΈ скрытиС Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ассоциации классов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ классы ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ обобщСния.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

Π§Ρ‚ΠΎ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ остановки для чистого ΠΊΠΎΠ΄Π°? Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ваш ΠΊΠΎΠ΄ чист:

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°

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

Чистый ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ элСмСнты Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ — Ссли ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈ чист, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ основой для ΠΊΠΎΠ΄Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС.

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

Акт Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° — ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹Ρ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π° Π±Π΅Π· внСшнСго интСрфСйса — ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСсущСствСнным ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ с Π±ΠΎΠ»Π΅Π΅ высоким ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. Но совокупный эффСкт ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±ΠΎΠ»Π΅Π΅ эффСктивному Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Π­Ρ‚ΠΈ сообщСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠΎΠΈΠΌΠΈ собствСнными ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ ΠΈΠ»ΠΈ ΠΌΠ½Π΅Π½ΠΈΠ΅ BMC.

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅? Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚Π΅ Π½Π°ΠΌ ΠΎΠ± этом ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ [email protected].

.

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ исходного ΠΊΠΎΠ΄Π° Π² Visual Studio Code

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ исходного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ качСство ΠΈ удобство сопровоТдСния вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π·Π° счСт рСструктуризации ΠΊΠΎΠ΄Π° Π±Π΅Π· измСнСния повСдСния Π²ΠΎ врСмя выполнСния. Visual Studio Code ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° (Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ), Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Extract Method ΠΈ Extract Variable, для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π° ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

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

Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ прСдоставляСтся языковой слуТбой, Π° VS Code ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° TypeScript ΠΈ JavaScript Ρ‡Π΅Ρ€Π΅Π· ΡΠ·Ρ‹ΠΊΠΎΠ²ΡƒΡŽ слуТбу TypeScript. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° для Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования обСспСчиваСтся Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ VS Code, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ языковыС сСрвисы. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ для Ρ€Π°Π·Π½Ρ‹Ρ… языков, ΠΈ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ продСмонстрируСм ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языковой слуТбы TypeScript.

ДСйствия ΠΊΠΎΠ΄Π° = БыстрыС исправлСния ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

Π’ VS Code, Code Actions ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, Ρ‚Π°ΠΊ ΠΈ быстрыС исправлСния ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ (Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ Π·Π΅Π»Π΅Π½Ρ‹ΠΌΠΈ волнистыми линиями).ДоступноС дСйствиС ΠΊΠΎΠ΄Π° обозначаСтся Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠΎΠΉ рядом с исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° курсор находится Π½Π° волнистой Π»ΠΈΠ½ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ тСкстовой области. Π©Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΠΎ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠ΅ Code Action ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Quick Fix ⌘. (Windows, Linux Ctrl +.) ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ быстрыС исправлСния ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ.

Если Π²Ρ‹ просто Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Π±Π΅Π· быстрых исправлСний, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Refactor (βŒƒβ‡§R (Windows, Linux Ctrl + Shift + R)).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π½Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΡƒ Code Action Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° .Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΠ°. Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ настройку . Π’Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ БыстрыС исправлСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ БыстроС исправлСниС ΠΈ ⌘. (Windows, Linux Ctrl +.) Π‘ΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ клавиш.

ДСйствия ΠΏΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Ρƒ

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ исходный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π»Π°ΠΌΠΏΠΎΡ‡ΠΊΡƒ Π² ΠΆΠ΅Π»ΠΎΠ±Π΅ ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ (⌘. (Windows, Linux Ctrl +.)), Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ доступныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ исходного ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Ρ‹ Π² Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ»ΠΈ Π² Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… областях. Π’ΠΎ врСмя Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° экстракта Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ввСсти Π·Π½Π°Ρ‡Π°Ρ‰Π΅Π΅ имя.

Π‘Π»ΡƒΠΆΠ±Π° языка

TypeScript обСспСчиваСт Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈΠ· Extract Π² const для создания Π½ΠΎΠ²ΠΎΠΉ локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ выраТСния:

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с классами ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π½ΠΎΠ²ΠΎΠ΅ свойство.

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСимСнования

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ — это обычная опСрация, связанная с Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ исходного ΠΊΠΎΠ΄Π°, ΠΈ VS Code ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Rename Symbol (F2). НСкоторыС языки ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ символов Π² Ρ„Π°ΠΉΠ»Π°Ρ…. НаТмитС F2, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ имя ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter.ВсС использования символа Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Π°Ρ….

БвязываниС клавиш для дСйствий ΠΊΠΎΠ΄Π°

Команда editor.action.codeAction позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ привязки клавиш для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий ΠΊΠΎΠ΄Π°. Π­Ρ‚Π° привязка клавиш, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запускаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Extract. Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ Code Actions:

.

  {
  "ΠΊΠ»ΡŽΡ‡": "ctrl + shift + r ctrl + e",
  "command": "editor.action.codeAction",
  "args": {
    "kind": "refactor.extract.function"
  }
}  

Π’ΠΈΠΏΡ‹ дСйствий

Code Action Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ с использованиСм Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ API CodeActionProvided .Π’ΠΈΠ΄Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ иСрархичСскими, поэтому Β«kindΒ»: Β«refactorΒ» ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ всС дСйствия ΠΊΠΎΠ΄Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Β«kindΒ»: Β«refactor.extract.functionΒ» ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ Extract function .

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ привязку клавиш, Ссли доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ дСйствиС ΠΊΠΎΠ΄Π° "refactor.extract.function" , ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ автоматичСски. Если доступно нСсколько Extract function Code Actions, ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ контСкстноС мСню для ΠΈΡ… Π²Ρ‹Π±ΠΎΡ€Π°:

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ³Π΄Π° автоматичСски ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ дСйствия ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ apply :

  {
  "ΠΊΠ»ΡŽΡ‡": "ctrl + shift + r ctrl + e",
  "ΠΊΠΎΠΌΠ°Π½Π΄Π°": "Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.action.codeAction ",
  "args": {
    "kind": "refactor.extract.function",
    "ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ": "ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ"
  }
}  

ДопустимыС значСния для Β«ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒΒ» :

  • Β«ΠΏΠ΅Ρ€Π²Ρ‹ΠΉΒ» — ВсСгда автоматичСски ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ доступноС дСйствиС ΠΊΠΎΠ΄Π°.
  • "ifSingle" — По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. АвтоматичСски ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ дСйствиС ΠΊΠΎΠ΄Π°, Ссли доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΏΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ контСкстноС мСню.
  • Β«Π½ΠΈΠΊΠΎΠ³Π΄Π°Β» — ВсСгда ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ контСкстноС мСню дСйствия ΠΊΠΎΠ΄Π°, Π΄Π°ΠΆΠ΅ Ссли доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ дСйствиС ΠΊΠΎΠ΄Π°.

Когда привязка клавиш Code Action настроСна с Β«ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΒ»: истинный , ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ быстрыС исправлСния ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ быстроС исправлСниС устраняСт ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнным Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. НапримСр, хотя ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠ² refactor.extract.constant , ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… извлСкаСтся Π² Ρ€Π°Π·Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости Π² Ρ„Π°ΠΉΠ»Π΅, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ refactor.extract.constant являСтся Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ извлСкаСтся Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π­Ρ‚Π° привязка клавиш ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Β«ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΒ»: true для создания Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСгда пытаСтся ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ Π² константу Π² локальной области:

  {
  "ΠΊΠ»ΡŽΡ‡": "shift + ctrl + e",
  "command": "editor.action.codeAction",
  "args": {
    "kind": "refactor.extract.constant",
    "ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ": ΠΏΡ€Π°Π²Π΄Π°,
    "ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ": "Ссли сингл"
  }
}  

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ с Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³, Π² VS Code Marketplace.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² прСдставлСниС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ (β‡§βŒ˜X (Windows, Linux Ctrl + Shift + X)) ΠΈ ввСсти Β«Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Β» Π² ΠΏΠΎΠ»Π΅ поиска. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ количСству установок ΠΈΠ»ΠΈ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ популярны.

Π‘ΠΎΠ²Π΅Ρ‚. ΠŸΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ динамичСски. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠ»ΠΈΡ‚ΠΊΡƒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π²Ρ‹ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ описаниС ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для вас.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги

ΠžΠ±Ρ‰ΠΈΠ΅ вопросы

ΠŸΠΎΡ‡Π΅ΠΌΡƒ я Π½Π΅ Π²ΠΈΠΆΡƒ Π»Π°ΠΌΠΏΠΎΡ‡Π΅ΠΊ, Ссли Π² ΠΌΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π΅ΡΡ‚ΡŒ ошибки?

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

10.09.2020

.

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

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