Найти Π² Π”Π·Π΅Π½Π΅

🎨 Design Pressure: ΠΏΠΎΡ‡Π΅ΠΌΡƒ ваш ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹?

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ программист Π·Π½Π°ΠΊΠΎΠΌ с этим чувством: Π²Ρ‹ ΡΠ°Π΄ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΏΠΎΠ»Π½Ρ‹Π΅ Π±Π»Π°Π³ΠΈΡ… Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚Π΅ всСм Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ, ΡΡ‚Π°Ρ€Π°Π΅Ρ‚Π΅ΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ всё ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, Π½ΠΎ спустя ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя ваш ΠΊΠΎΠ΄ Π²Π΄Ρ€ΡƒΠ³ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒβ€¦ странно. АрхитСктура каТСтся нССстСствСнной, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ добавляСт Π·Π°Π³Π°Π΄ΠΎΠΊ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π₯Π°ΠΉΠ½Π΅ΠΊ Шлавэк (Hynek Schlawack), извСстный Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ PyCon, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» объяснСниС этого явлСния, Π½Π°Π·Π²Π°Π² Π΅Π³ΠΎ Design Pressure β€” Β«Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π°Β». Но Ρ‡Ρ‚ΠΎ это Π·Π° сила, ΠΊΠ°ΠΊ ΠΎΠ½Π° дСйствуСт, ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Ρ‘ Ρ‚Π°ΠΊ слоТно Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ? πŸŒ€ НСвидимая сила, ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ ваш ΠΊΠΎΠ΄ Design Pressure β€” это Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ нСвидимая Ρ€ΡƒΠΊΠ°, ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‰Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ Π²ΠΎΠΏΡ€Π΅ΠΊΠΈ собствСнным намСрСниям. По мнСнию Шлавэка, Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π° проявляСтся Ρ‡Π°Ρ‰Π΅ всСго Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ситуациях: βš™οΈ ВСхничСский взгляд: ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ Design Pressu
ОглавлСниС
ΠŸΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Π°Ρ свСтящаяся «нСвидимая Ρ€ΡƒΠΊΠ°Β» мягко ΠΏΡ€ΠΈΠΆΠΈΠΌΠ°Π΅Ρ‚ парящиС Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, выгибая ΠΈΡ… Π² Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΡƒΡŽ Π°Ρ€ΠΊΡƒ Π½Π° Ρ„ΠΎΠ½Π΅ синСй сСтки-Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ° ΠΈ схСмных Π»ΠΈΠ½ΠΈΠΉ β€” ΠΌΠ΅Ρ‚Π°Ρ„ΠΎΡ€Π° скрытого давлСния, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.
ΠŸΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Π°Ρ свСтящаяся «нСвидимая Ρ€ΡƒΠΊΠ°Β» мягко ΠΏΡ€ΠΈΠΆΠΈΠΌΠ°Π΅Ρ‚ парящиС Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, выгибая ΠΈΡ… Π² Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΡƒΡŽ Π°Ρ€ΠΊΡƒ Π½Π° Ρ„ΠΎΠ½Π΅ синСй сСтки-Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ° ΠΈ схСмных Π»ΠΈΠ½ΠΈΠΉ β€” ΠΌΠ΅Ρ‚Π°Ρ„ΠΎΡ€Π° скрытого давлСния, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

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

Π₯Π°ΠΉΠ½Π΅ΠΊ Шлавэк (Hynek Schlawack), извСстный Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ Π΄ΠΎΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ PyCon, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» объяснСниС этого явлСния, Π½Π°Π·Π²Π°Π² Π΅Π³ΠΎ Design Pressure β€” Β«Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π°Β».

Но Ρ‡Ρ‚ΠΎ это Π·Π° сила, ΠΊΠ°ΠΊ ΠΎΠ½Π° дСйствуСт, ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π΅Ρ‘ Ρ‚Π°ΠΊ слоТно Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ?

πŸŒ€ НСвидимая сила, ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ ваш ΠΊΠΎΠ΄

Design Pressure β€” это Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ нСвидимая Ρ€ΡƒΠΊΠ°, ΠΏΠΎΠ΄Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‰Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ Π²ΠΎΠΏΡ€Π΅ΠΊΠΈ собствСнным намСрСниям.

По мнСнию Шлавэка, Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π° проявляСтся Ρ‡Π°Ρ‰Π΅ всСго Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ситуациях:

  • πŸ”„ НСявныС зависимости
    Π§Π΅ΠΌ большС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ риск случайно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ зависимостСй, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ становится Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ бСзопасно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π±Π΅Π· Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… послСдствий.
  • πŸŒ‰ БмСшСниС Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ…
    Когда ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль ΡΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ с модСлью Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ модСлью API, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π°, приводящая ΠΊ ошибкам ΠΈ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ систСмы.
  • 🧩 ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ простотой ΠΈ удобством
    Иногда Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ каТСтся простым ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Π²Π½Π°Ρ‡Π°Π»Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, использованиС ORM), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊΠΎΡˆΠΌΠ°Ρ€ΠΎΠΌ для сопровоТдСния.
  • 🚧 Π Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ классов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Ρ†Π²Π΅Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ)
    АсинхронныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ синхронныС; ORM-классы сущСствСнно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… классов. НС осознавая этой Ρ€Π°Π·Π½ΠΈΡ†Ρ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΠΈΡˆΡƒΡ‚ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‰ΠΈΠΉΡΡ пониманию ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

βš™οΈ ВСхничСский взгляд: ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ Design Pressure?

Π₯Π°ΠΉΠ½Π΅ΠΊ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ряд ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π°:

  • 🎯 Π§Ρ‘Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ:
    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ для хранСния Π΄Π°Π½Π½Ρ‹Ρ…, бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ сСти (DTO β€” Data Transfer Objects).
  • 🧹 Β«Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ядро, импСративная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Β»:
    БизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½ΠΈΡ… эффСктов ΠΈ I/O. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ тСстированиС ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ прСдсказуСмым.
  • πŸ›‘οΈ ИспользованиС статичСских Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… состояний (Typestate pattern):
    Виповая систСма ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний прилоТСния, заставляя Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ Π½Π° самом Ρ€Π°Π½Π½Π΅ΠΌ этапС.
  • πŸ“ Π‘Π½ΠΈΠΆΠ΅Π½ΠΈΠ΅ связанности ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ согласованности (Coupling & Cohesion):
    Код, Π³Π΄Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ слабо связаны ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ.

πŸ“š Π§Ρ‚ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅?

Автор Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ Ρ†Π΅Π»Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ†Π΅Π½Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² для погруТСния Π² Ρ‚Π΅ΠΌΡƒ:

πŸ“– Π‘Ρ‚Π°Ρ‚ΡŒΠΈ:

  • Types of Coupling β€” ΠΎ Π²ΠΈΠ΄Π°Ρ… связанности.
  • The Vietnam of Computer Science β€” ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… ORM.
  • How I Build β€” совСты ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΡ‚ Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

πŸ“Ί Π’ΠΈΠ΄Π΅ΠΎ:

  • Β«Integrated Tests Are A ScamΒ» ΠΎΡ‚ J.B. Rainsberger β€” ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ тСсты часто Π½Π΅ ΠΎΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ.
  • Β«Simple Made EasyΒ» Π ΠΈΡ‡Π° Π₯ΠΈΠΊΠΊΠΈ β€” Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚Ρ‹ΠΉ Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ простым ΠΈ Π»Ρ‘Π³ΠΊΠΈΠΌ.

πŸ“˜ Книги:

  • Β«Domain-Driven DesignΒ» Π­Ρ€ΠΈΠΊΠ° Эванса β€” ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство ΠΏΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.
  • Β«Architecture Patterns With PythonΒ» β€” нСзамСнимая ΠΊΠ½ΠΈΠ³Π° для Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

πŸ€” Π›ΠΈΡ‡Π½Ρ‹ΠΉ взгляд: ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π²Π°ΠΆΠ½ΠΎ?

Π›ΠΈΡ‡Π½ΠΎ для мСня идСя «давлСния Π΄ΠΈΠ·Π°ΠΉΠ½Π°Β» стала настоящим ΠΎΡ‚ΠΊΡ€ΠΎΠ²Π΅Π½ΠΈΠ΅ΠΌ. ΠœΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π²ΠΈΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², сроки ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Но Π½Π° самом Π΄Π΅Π»Π΅ сущСствуСт нСкая СстСствСнная сила, Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ наш ΠΊΠΎΠ΄ Π΄Ρ€Π΅ΠΉΡ„ΠΎΠ²Π°Ρ‚ΡŒ Π² сторону слоТности.

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

Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΎΡΠΎΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эта нСвидимая сила сущСствуСт, ΠΈ Ρ‡Ρ‚ΠΎ с Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π° Π½Π΅ просто ΠΏΠΎΠ΄Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π΅ΠΉ.

πŸš€ И Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ?

Если Π²Ρ‹ Π²Π΄Ρ€ΡƒΠ³ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ становится странным, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° услоТняСтся, Π° простыС измСнСния Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… усилий, Π½Π΅ ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ Π²ΠΈΠ½ΠΈΡ‚ΡŒ сСбя. ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ΡΡŒ ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Β«Π΄Π°Π²Π»Π΅Π½ΠΈΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π°Β»:

  • πŸ› οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Π»ΠΈΡΡŒ Π»ΠΈ Ρƒ вас Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ•ΈοΈ ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ зависимости β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, стоит ΠΈΡ… ΠΎΡΠ»Π°Π±ΠΈΡ‚ΡŒ.
  • πŸ” Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ясно ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ классов ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅.

А Π³Π»Π°Π²Π½ΠΎΠ΅ β€” постоянно ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ большС ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π»ΡƒΡ‡ΡˆΠΈΠΉ способ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ Β«Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡƒΡŽ Ρ€ΡƒΠΊΡƒ Π΄ΠΈΠ·Π°ΠΉΠ½Π°Β» β€” это ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½Π° дСйствуСт, ΠΈ осознанно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ процСссом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

πŸ”— Бсылка:

🌟 НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ β€” управляйтС Сю! 🌟