Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ тСстируСмый ΠΈ сопровоТдаСмый ΠΊΠΎΠ΄ β€” ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ экспСрты

ВсС ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΏΡ€ΠΎ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ тСстируСмого ΠΈ сопровоТдаСмого ΠΊΠΎΠ΄Π°, Π½ΠΎ Π½Π΅ всС ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, ΠΎ Ρ‡Ρ‘ΠΌ ΠΈΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ. Π‘ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Ρƒ экспСртов, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄.

ОблоТка: Как Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΈΡΠ°Ρ‚ΡŒ тСстируСмый ΠΈ сопровоТдаСмый ΠΊΠΎΠ΄ β€” ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ экспСрты

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

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

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

И Π΅Ρ‰Ρ‘ нСбольшой совСт: Π½Π°Π²Ρ‹ΠΊΠΈ написания Β«ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎΒ» ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ быстро Β«ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒΒ», примСняя ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ ΠΏΠ°Ρ€Π½ΠΎΠ³ΠΎ программирования (ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄ ΠΏΠΈΡˆΡƒΡ‚ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ нСсколько Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²) ΠΈΠ»ΠΈ поучаствовав Π² ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Open Source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

МоТно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†Π΅Π»ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ, отвСчая Π½Π° этот вопрос. Всё зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ссли Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ совСт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚ Π² дСвяти ΠΈΠ· дСсяти случаСв, Ρ‚ΠΎ я Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ каТдая функция выполняла Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ дСйствиС β€” ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΠΈΠ· названия.

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

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

Π’ ΠΈΠ΄Π΅Π°Π»Π΅ ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ инструкция ΠΏΠΎ сборкС конструктора. Π­Ρ‚ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самая ваТная характСристика Π»Π΅Π³ΠΊΠΎ сопровоТдаСмого ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ философия, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ придСрТиваСтся Apple со своими ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ²Ρ‹ΠΌΠΈ названиями β€” Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° ΠΈΡ… языках ΠΎΡ‡Π΅Π½ΡŒ просто. БущСствуСт Π΄Π°ΠΆΠ΅ такая аналогия: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ Π°Π½Π΅ΠΊΠ΄ΠΎΡ‚ β€” Ссли Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ½ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ.

ΠŸΠΎΠ½ΡΡ‚ΠΈΡ «сопровоТдаСмый ΠΊΠΎΠ΄Β» ΠΈ «тСстируСмый ΠΊΠΎΠ΄Β» относятся Π½Π΅ ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΌΡƒ, Π° ΠΊ ΠΊΠΎΠ΄Ρƒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ процСссов сопровоТдСния ΠΈ тСстирования. Код, «сопровоТдаСмый» Π² ΠΎΠ΄Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Β«Π½Π΅ сопровоТдаСмым» Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ Π΄Π°Ρ‚ΡŒ слоТно, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ… ΠΈ областях ΠΈΡ… примСнимости.

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

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

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

На ΠΌΠΎΠΉ взгляд, Π² вакансиях Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ junior-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ встрСчаСтся нСчасто. А Ссли ΠΎΠ½ΠΎ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ скорСС «для Π³Π°Π»ΠΎΡ‡ΠΊΠΈΒ». Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ «тСстируСмый ΠΈ сопровоТдаСмый ΠΊΠΎΠ΄Β» Π² любом случаС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°. Когда ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠΎΠ΄Π΅, Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ написан ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ количСством людСй, Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ сущСствуСт ΡƒΠΆΠ΅ довольно Π΄Π°Π²Π½ΠΎ β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π΅Π³ΠΎ Π½Π° протяТСнии Π³ΠΎΠ΄Π°-Π΄Π²ΡƒΡ…. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ спСциалист Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² своём ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ, ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.

Но Ссли junior-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π΅ΡˆΠΈΠ», Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ тСстируСмый ΠΈ сопровоТдаСмый ΠΊΠΎΠ΄, это ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π‘ΠΎ своСй стороны, я ΠΌΠΎΠ³Ρƒ Π΄Π°Ρ‚ΡŒ нСсколько совСтов:

  1. Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈ Ρ„ΠΎΡ€ΡƒΠΌΡ‹. ΠšΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ качСствСнного ΠΊΠΎΠ΄Π°, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с SOLID. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ классы Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с зависимостями Π² Π½ΠΈΡ…. Всё это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ тСстируСмости ΠΊΠΎΠ΄Π°.
  2. Найти ΠΌΠ΅Π½Ρ‚ΠΎΡ€Π° β€” ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ спСциалиста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смог Π±Ρ‹ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π»ΡƒΡ‡ΡˆΠ΅. А Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ стоит Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Π° Π½Π΅ ΠΈΠ½Π°Ρ‡Π΅: ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ годится.
  3. ΠžΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с исходниками извСстных open source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, качСство ΠΊΠΎΠ΄Π° Π² Π½ΠΈΡ… довольно высокоС, ΠΈ эти ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ ΠΎΠ΄ΠΈΠ½ Π³ΠΎΠ΄.

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

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΡ‹ считаСм Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ. МоТно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π³Π»Π°Π²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ°:

  1. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ описываСт сам сСбя. Π§Π΅ΠΌ понятнСС, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅ ΠΊΠΎΠ΄, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ, Π½ΠΎ названия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ сами Π·Π° сСбя β€” ΠΊΠΎΠ΄ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΈ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ с Π½ΠΈΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
  2. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ пСрСуслоТнСн. Он максимально прост ΠΈ ΠΏΠΎ исполнСнию (Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… рСсурсов), ΠΈ с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния. Π’ написании ΠΊΠΎΠ΄Π° ΡΠΎΠ±Π»ΡŽΠ΄Ρ‘Π½ баланс Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простых структур Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².
  3. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π΅Π½ ΠΈ Π½Π΅ повторяСт сСбя. Помним ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Β«Don’t repeat yourselfΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ повторСния ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ абстракций ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. И ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ YAGNI (Β«You ain’t gonna need itΒ»), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π΅Π· острой нСобходимости.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ тСстированиС Π²Π΅Π΄Ρ‘Ρ‚ ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, Π½ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ являСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. Π’ процСссС тСстирования ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ слабыС мСста Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠžΡ‚ΡΡŽΠ΄Π° вопрос: ΠΊΠ°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹? ΠœΡ‹ тСстируСм:

  1. ΠžΠ±Ρ‰ΠΈΠ΅ трСбования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π² ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΌ Π²ΠΈΠ΄Π΅.
  2. ΠŸΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ условия. Надо ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, Π½Π΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ массива Π΄Π°Π½Π½Ρ‹Ρ…. Бюда ΠΆΠ΅ относится ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° null-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  3. Выбросы ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Для контроля качСства ΠΊΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ нСсколько простых инструмСнтов. НапримСр, Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹ β€” инструмСнт для контроля стилистики ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ code-coverage инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠ»ΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ тСстами.

По вёрсткС β€” однотипная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ рСализовываСтся ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΌ HTML-Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Π’ΠΎΠ·ΡŒΠΌΡ‘ΠΌ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΠΈ Π½Π° сайтС.

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

  • ΠΏΠ»ΠΎΡ…ΠΎ: Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС a , Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ β€” button, Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌ β€” div.link>span>a. И всС ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΈ физичСски, Π½ΠΎ Π² Π΄ΡƒΡˆΠ΅/DOM β€” Ρ€Π°Π·Π½Ρ‹Π΅;
  • Ρ…ΠΎΡ€ΠΎΡˆΠΎ: строго ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ согласился Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ΄Ρ€Π΅Π²ΡŒΡŽΠ²Π΅Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2:

  • ΠΏΠ»ΠΎΡ…ΠΎ: <button type="submit" class="action" name="send" id="send2"><span>Sign In</span></button> β€” Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π½Π΅ говорят. Какая-Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΠ°, которая Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ отсылаСт. И Π΅Ρ‰Ρ‘ со Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ айдишником (ΠΏΡ€ΠΈΠ²Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Magento 2). Π”Π°, Π² этом случаС ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π²ΡΠ·Π°Ρ‚ΡŒΡΡ Π½Π° тСкст, Π½ΠΎ это стрёмно-ΡƒΠ·ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, зависящСС ΠΎΡ‚ Π»ΠΎΠΊΠ°Π»ΠΈ. НуТна ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ;
  • Ρ…ΠΎΡ€ΠΎΡˆΠΎ: <button class="action" type="submit" data-qa-id="set-form-login">Sign In</button> β€” добавляСм ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π² Ρ‚Π΅Π³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Π΅Ρ‚, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊ Ρ‡Π΅ΠΌΡƒ относится ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт. НазваниС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈ стилистика написания Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Ρ‚ΠΈΠ²Π½Ρ‹: Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΡΠ²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎ data-qa-id="login" , Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π² Π½Π°Π±ΠΎΡ€Π΅ Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ… для UAT Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΎΠΊΠ°Ρ‚ΠΎΡ€ с Π²Ρ‹Π±ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ· ΠΎΠ±Ρ‰Π΅Π³ΠΎ ряда Π΄ΠΎΠΏ конструкциСй: //button[@type='submit'][@data-qa-id='login'].

Π‘Π°ΠΌΡ‹Π΅ Π³Π»Π°Π²Π½Ρ‹Π΅ трСбования:

  1. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅Ρ‚ привязок CSS/JS со стороны прилоТСния, вслСдствиС Ρ‡Π΅Π³ΠΎ ΠΌΠ°Π» шанс Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ измСнСния Π΅Π³ΠΎ значСния;
  2. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ ясно ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ Ρ€ΠΎΠ»ΡŒ/дСйствиС элСмСнта.

Начнём с понятия сопровоТдаСмости ΠΊΠΎΠ΄Π°. Если ΠΊΡ€Π°Ρ‚ΠΊΠΎ, ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° опрСдСляСт, насколько Π»Π΅Π³ΠΊΠΎ ΠΈ просто посторонний Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ творится Π² прСдоставлСнном Π΅ΠΌΡƒ ΠΊΠΎΠ΄Π΅. Π₯ΠΎΡ€ΠΎΡˆΠΎ сопровоТдаСмый ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «чистым». Π§Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ Ρ‡ΠΈΡ‰Π΅ написан ΠΊΠΎΠ΄, Ρ‚Π΅ΠΌ Π»Π΅Π³Ρ‡Π΅ Π²Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² Π·Π°Π΄Π°Ρ‡Ρƒ Π½ΠΎΠ²ΠΎΠΌΡƒ сотруднику ΠΈ Ρ‚Π΅ΠΌ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ усилий трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŽ ΠΊΠΎΠ΄Π° Π½Π° объяснСниС, Ρ‡Ρ‚ΠΎ Π² Π½Ρ‘ΠΌ происходит. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ обращСния ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŽ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, всё Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ понятно ΠΏΠΎ самому ΠΊΠΎΠ΄Ρƒ ΠΈ коммСнтариям.

Как этому Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ? ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Π΅ΠΌ стоит ΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ, β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹. БСйчас доступно ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, посвящённой этому вопросу: ΠΊΠ½ΠΈΠ³ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ «Чистый Код» Π ΠΎΠ±Π΅Ρ€Ρ‚Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π°) ΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π΄Π°ΡŽΡ‰ΠΈΠ΅ пояснСния ΠΈ Π²Ρ‹ΠΆΠΈΠΌΠΊΠΈ ΠΈΠ· этих ΠΊΠ½ΠΈΠ³. Из этих источников ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ знания, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ. Они достаточно просты Π² освоСнии ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ написаны.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг β€” ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» стилистики языка, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΈΡˆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Π³ΠΎ создатСлями, Π° ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ Ρ„ΠΈΡ€ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Google, Yandex, Airbnb, ΠΈΠΌΠ΅ΡŽΡ‚ свой свод ΠΏΡ€Π°Π²ΠΈΠ» ΠΊΠ°ΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ языка программирования. ПолСзно ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΅Π³ΠΎ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, это Ρ‚Ρ€Π΅Π½ΠΈΡ€ΡƒΠ΅Ρ‚ дисциплину, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ придётся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠ΅ΠΌ-Ρ‚ΠΎ, ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ свод ΠΏΡ€Π°Π²ΠΈΠ» Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠ΅ самим. И Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ шаг β€” это ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ стиля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚, ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ слоТившаяся стилистика написания ΠΊΠΎΠ΄Π°. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄Π΅, Π»ΡƒΡ‡ΡˆΠ΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠΈΠΌΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Если ΠΎΠ½ΠΈ описаны Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ β€” это ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, Ссли Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π΅Ρ‚ β€” ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ написанный Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сотрудниками ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅.

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

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

  1. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСст ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
  2. НС Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹ΠΈΡΠΊΠΈΠ²Π°Ρ‚ΡŒ значСния Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с мноТСством ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ, Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π·Π°Ρ€Ρ‹Ρ‚ΠΎΠ΅: object.key.anotherKey. Π­Ρ‚ΠΎ затрудняСт ΠΊΠ°ΠΊ сопровоТдСниС ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΈ написаниС тСстов ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ.
  3. НС Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΅Ρ‘ Π² ΠΎΠ΄Π½ΠΎΠΉ части ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ°Π³ΡƒΠ±Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’Π°ΠΊΠΆΠ΅ сами тСсты ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ…, Ρ‚Π΅ΠΌ самым влияя Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ тСсты. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ константы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  4. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² конструктор ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ расчётов ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Ρ‚Π΅ΠΌ самым тСстированиС. Π’Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ конструктора Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ‚ΠΎΠΆΠ΅ плохая идСя, Ρ‚.ΠΊ. это затрудняСт ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ приходится Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ тСсты для вынСсСнного куска.
  5. И напослСдок, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ тСсты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ быстрыми, ΠΈΠ½Π°Ρ‡Π΅ ΠΈΠ· ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ инструмСнта ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² источник Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ Π±ΠΎΠ»ΠΈ, поэтому Π²Π°ΠΆΠ½ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ ΠΏΠΈΡˆΡƒΡ‚ΡΡ тСсты. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΌΠΎΠΊΠ°ΠΌΠΈ, имитациями этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Π· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΡ‚Π΄Π°ΡŽΡ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ сущСствСнно ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ тСстов, ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ зависимости ΠΎΡ‚ стороннСго ΠΊΠΎΠ΄Π° ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ написано Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ.

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

Π•ΡΡ‚ΡŒ мноТСство интСрСсных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ для написания Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°. Π― ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡŽ ряд практичСских ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π² этом ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

НаписаниС тСстов β€” это Ρ‚ΠΎΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Π° программиста, которая позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ спокойно ΡΠΏΠ°Ρ‚ΡŒ ΠΏΠΎ Π½ΠΎΡ‡Π°ΠΌ.

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

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

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

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

На ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС я Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ стратСгии постСпСнного услоТнСния ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΎΡ†Π΅ΡΡ написания ΠΊΠΎΠ΄Π° Π² этом случаС ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ шаги:

  1. РСализация Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ выполняСмого ΠΊΠΎΠ΄Π° Π±Π΅Π· использования слоТных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ это Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΠ΄ Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… связан ΠΎΠ±Ρ‰ΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. Π—Π΄Π΅ΡΡŒ Π½Π΅ стоит ΠΌΠ΅Π»ΡŒΡ‡ΠΈΡ‚ΡŒ. На этом этапС тСсты ΡƒΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ написаны.
  2. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ связанного ΠΊΠΎΠ΄Π° Π² Π±Π»ΠΎΠΊΠΈ, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. На Π΄Π°Π½Π½ΠΎΠΌ этапС самоС врСмя ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ зависимости, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΡƒΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΈΠ· Π²ΠΈΠ΄Ρƒ.
  3. УстранСниС всСго дублирования ΠΊΠΎΠ΄Π°. Поиск Π±Π»ΠΎΠΊΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΈΠ»ΠΈ схоТиС дСйствия.
  4. Π’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сущностСй, слоёв. Как ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ логичСскоС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎ Π·ΠΎΠ½Π°ΠΌ отвСтствСнности.
  5. Π’Ρ‹Π±ΠΎΡ€ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящих ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°.
  6. ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ Π½Π΅ Ρ€Π°Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ исслСдованиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

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

Β«Π’Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с программистом Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ стало слишком ΠΏΠΎΠ·Π΄Π½ΠΎΒ», β€” Π‘Π΅ΠΉΠΌΡƒΡ€ ΠšΡ€Π΅ΠΉ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:

ВСстируСмый ΠΊΠΎΠ΄ β€” это ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌΠΈ тСстами. ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ тСсты β€” это тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, классы, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π»ΠΈ ΠΎΠ½ΠΈ Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, которая ΠΎΡ‚ Π½ΠΈΡ… оТидаСтся ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ….

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

Π•ΡΡ‚ΡŒ нСсколько Π³Ρ€ΡƒΠΏΠΏ людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ваш Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

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

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ вашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρƒ всСх 3 Π³Ρ€ΡƒΠΏΠΏ Ρ€Π°Π·Π½Ρ‹Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всСх ΠΎΠ΄Π½ΠΎ β€” Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всСм Π½ΡƒΠΆΠ΅Π½ тСстируСмый ΠΈ сопровоТдаСмый ΠΊΠΎΠ΄.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΆΠ΅ Π΅Π³ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ простыС ΠΏΡ€Π°Π²ΠΈΠ»Π°. Π˜Ρ… Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² Code Style ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. МногиС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ языкам, Π½ΠΎ всС ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Π΅Π΅, ΠΏΡ€ΠΎΡ‰Π΅ для восприятия Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π±Π°Π³ΠΎΠ².

Π§Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ сопровоТдаСмый ΠΊΠΎΠ΄:

  • ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Code Style ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” Π½Π° GitHub ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка программирования (Airbnb, Google ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅),
  • ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ Ρ€Π΅Π²ΡŒΡŽ,
  • знакомство с ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, написанным Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ,
  • ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² проСктирования.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш ΠΊΠΎΠ΄ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ тСстами, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ чистыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, выноситС ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ лишнюю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, отдСляйтС Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ singleton ΠΈ нСявныС зависимости.

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ соблюдСниС этих ΠΏΡ€Π°Π²ΠΈΠ» Π²ΠΎΠΉΠ΄Ρ‘Ρ‚ Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΡƒ, ΠΈ ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ Π·Π°Ρ€Π°Π½Π΅Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΊ написанию ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… тСстов.

НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π·Π° совСтом ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ β€” ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠ΄, попроситС ΠΈΡ… ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ написанный Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄, спроситС, всё Π»ΠΈ понятно Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΊΠΎΠ΄Π°.

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ сопровоТдаСмый ΠΈ тСстируСмый ΠΊΠΎΠ΄?

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

  • Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈ Ρ„ΠΎΡ€ΡƒΠΌΡ‹;
  • Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΌΠ΅Π½Ρ‚ΠΎΡ€Π° β€” ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ спСциалиста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ подскаТСт, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ смоТСт ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ;
  • посмотритС Π½Π° ΠΊΠΎΠ΄ извСстных open-source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π² особСнности Ρ‚Π΅Ρ…, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎ внСсСнию ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Ρ€ΠΎΠ΄Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ стиля ΠΊΠΎΠ΄Π°;
  • оформляйтС ΠΊΠΎΠ΄ согласно принятым Π² языкС ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, руководствам ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ. НСкоторыС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ свой Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ», ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡ… Π² Ρ‚Π°ΠΊΠΎΠΌ случаС;
  • с ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ инструмСнты Π²Ρ€ΠΎΠ΄Π΅ ESLint для JavaScript ΠΈΠ»ΠΈ Flake8 для Python;
  • Π½Π΅ ΠΏΠΈΡ…Π°ΠΉΡ‚Π΅ всё Π² ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» β€” структурируйтС ΠΊΠΎΠ΄ ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ;
  • ΠΈΠ·Π±Π°Π²ΡŒΡ‚Π΅ΡΡŒ ΠΎΡ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°;
  • ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, которая ΠΈΠΌ Π½ΡƒΠΆΠ½Π°;
  • ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°ΠΊ людям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ/ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ послС вас, Ρ‚Π°ΠΊ ΠΈ Π²Π°ΠΌ самим Ρ‡Π΅Ρ€Π΅Π· нСдСлю послС Π΅Π³ΠΎ написания. А Π΅Ρ‰Ρ‘ ΠΈΠ· ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΌΠΎΠΆΠ½ΠΎ автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ;
  • ΠΏΠΈΡˆΠΈΡ‚Π΅ тСсты;
  • ΠΏΠΈΡˆΠΈΡ‚Π΅ быстрыС тСсты. Π˜Π½Π°Ρ‡Π΅ ΠΈΠ· Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³Π° ΠΎΠ½ΠΈ прСвратятся Π² злСйшСго Π²Ρ€Π°Π³Π°;
  • ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π˜Ρ… слоТно ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ части ΠΊΠΎΠ΄Π° с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. Π’Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ тСстами, создавая Π½Π΅Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ;
  • Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π½Π΅ сдСлаСт вас экспСртом Π² написании тСстируСмого ΠΈ сопровоТдаСмого ΠΊΠΎΠ΄Π°.

НапоминаСм, Ρ‡Ρ‚ΠΎ Π²Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅Β Π·Π°Π΄Π°Ρ‚ΡŒ свой вопрос экспСртам, а мы собСрём Π½Π°Β Π½Π΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, Ссли он окаТСтся интСрСсным. Вопросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ задавались, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ в спискС выпусков рубрики. Если Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ к числу экспСртов ΠΈΒ ΠΏΡ€ΠΈΡΠ»Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚Β Π²Π°ΡˆΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ»ΠΈ Π»ΠΈΡ‡Π½ΠΎ от вас, Ρ‚ΠΎΒ ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π°Β experts@tproger.ru, мы расскаТСм, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ