Π Π°Π·Π½ΠΎΠ΅

Книга чистый ΠΊΠΎΠ΄: О ΠΊΠ½ΠΈΠ³Π΅ Π‘ΠΎΠ±Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° «Чистый ΠΊΠΎΠ΄Β» / Π₯Π°Π±Ρ€

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

ΠœΠ°Π½ΠΈΡ„Π΅ΡΡ‚ Чистого ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π° ΠΈΠ»ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ конспСкт ΠΊΠ½ΠΈΠ³ΠΈ «Чистый Код» Π ΠΎΠ±Π΅Ρ€Ρ‚Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π°

Данная ΡΡ‚Π°Ρ‚ΡŒΡ являСтся конспСктом ΠΊΠ½ΠΈΠ³ΠΈ «Π§ΠΈΡΡ‚Ρ‹ΠΉ Код» Π ΠΎΠ±Π΅Ρ€Ρ‚Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΈ ΠΌΠΎΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ Чистый Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ. Π’ΡƒΡ‚ Π½Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² ΠΎ тСстировании, TDD, ΠΎ Ρ‚ΠΎΠΌ какая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ Ρ‚.Π΄. Π—Π΄Π΅ΡΡŒ всС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Чистый Код.


Π”Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π΅ΠΌΠ° Чистого Кода ΡƒΠΆΠ΅ Π·Π°Π΅Π·ΠΆΠ΅Π½Π½Π°, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΅Ρ‰Π΅ Π½Π΅ всС с Π½ΠΈΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΈ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, я Π½Π΅ встрСтил Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТится Π² ΠΌΠΎΠ΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

ΠžΠ±Ρ‰Π΅Π΅

НСт истинного ΠΏΡƒΡ‚ΠΈ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π•ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ попытайся воспроизвСсти Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС кСйсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Ρ‚ΡŒ эту Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠΉ Π·Π°Π΄Π°Ρ‡Ρƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всСх кСйсов.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ ΠΏΠΎΠΉΡ‚ΠΈ ΠΎΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ. Пойми ΠΊΠ°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² ΠΈΡ‚ΠΎΠ³Π΅ Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΡΠΎΡΡ‚Π°Π²ΡŒ Π½Π° этом основании Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π·Π°Π΄Π°Ρ‡Π°.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π² Ρ€Π΅Π»ΠΈΠ· β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. НСт Π»ΠΈ Π² Π½Π΅ΠΉ ошибок. Π­Ρ‚ΠΎ касаСтся Π΄Π°ΠΆΠ΅ Ρ‚Π΅Ρ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Ρ‚Π²ΠΎΡŽ Π²Π΅Ρ‚ΠΊΡƒ. Π‘Π°ΠΌΡ‹ΠΉ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ сцСнарий β€” Ρ‚ΠΎΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ смог Π½Π°ΠΉΡ‚ΠΈ ошибки Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π».

ВсСгда задумывайся ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡ΠΈΡ‰Π΅ ΠΈ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Π΅Π΅.

  • КакиС кСйсы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρƒ Π·Π°Π΄Π°Ρ‡ΠΈ?
  • ВсС Π»ΠΈ я ΡƒΡ‡Π΅Π»?
  • Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π΅ Ρ‚Π°ΠΊ?
  • Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ?
  • Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»?
  • Π§Ρ‚ΠΎ Ρ‚ΡƒΡ‚ лишнСС?
  • Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅?
  • Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Π΅Π΅?
  • Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ понятнСС?

Чистый Код

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄? Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° написаниС ΠΊΠ½ΠΈΠ³ΠΈ. Π‘Π½Π°Ρ‡Π°Π»Π° Ρ‚Ρ‹ дСлаСшь Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΈΡ‡Π΅ΡΡ‹Π²Π°Π΅ΡˆΡŒ Π΅Π³ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ состояния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‚Π΅Π±Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ приятно Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. ВсСгда ΠΏΠΎΠΌΠ½ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ происходящСго, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π΅Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

Под ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ понимаСтся β€” интСрфСйс, класс, ΠΌΠ΅Ρ‚ΠΎΠ΄, пСрСмСнная, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ Ρ‚.Π΄.

  • Чистый ΠΊΠΎΠ΄ простой, Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.
  • Чистый ΠΊΠΎΠ΄ читаСтся Π»Π΅Π³ΠΊΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ·Π°. Если это Π½Π΅ Ρ‚Π°ΠΊ, Ρ‚ΠΎ Π΅Π³ΠΎ стоит Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ.
  • Чистый ΠΊΠΎΠ΄ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Он Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ТСстко завязан Π½Π° ΠΊΡƒΡ‡Π΅ сущностСй. Π›ΡŽΠ±ΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.
  • Чистый ΠΊΠΎΠ΄ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π²ΡŒΡŽ. Если Ρ€Π΅Π²ΡŒΡŽ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ чистый ΠΈ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ.
  • Чистый ΠΊΠΎΠ΄ всСгда выглядит Ρ‚Π°ΠΊ, словно Π½Π°Π΄ Π½ΠΈΠΌ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ Ρ‚Ρ€ΡƒΠ΄ΠΈΠ»ΠΈΡΡŒ. КакиС Π±Ρ‹ ΠΏΡƒΡ‚ΠΈ для Π΅Π³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ‹ Π½Π΅ искал, Ρ‚Ρ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΈΠ΄Π΅ΡˆΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ Π»ΡƒΡ‡ΡˆΠΈΠΉ. БоотвСтствСнно, чистый ΠΊΠΎΠ΄ β€” ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ Π΄ΠΎ всСх ΠΌΠ΅Π»ΠΎΡ‡Π΅ΠΉ.
  • ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ бойскаута: ΠžΡΡ‚Π°Π²ΡŒ мСсто стоянки Ρ‡ΠΈΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎ тСбя. Π­Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ пСрСкладываСтся ΠΈ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ΠΈΠ΄ΠΈΡˆΡŒ грязный ΠΊΠΎΠ΄? Π‘Π΄Π΅Π»Π°ΠΉ Π΅Π³ΠΎ Ρ‡ΠΈΡ‰Π΅, ΠΏΠΎΠΊΠ° Ρ€Π΅ΡˆΠ°Π΅ΡˆΡŒ свою Π·Π°Π΄Π°Ρ‡Ρƒ. НС стоит ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚ΡŒΡΡ этим ΠΈ Ссли грязный ΠΊΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ грязный, Ρ‚ΠΎ стоит Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ врСмя для Π΅Π³ΠΎ очистки.
  • НС бойся Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Если Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΠΈΡ… ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρƒ тСбя Π΅ΡΡ‚ΡŒ Π½Π° Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‚Ρ‹ сдСлаСшь ΠΊΠΎΠ΄ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈ Ρ‡ΠΈΡ‰Π΅. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ тСсты ΠΏΠΎΠΊΠ°ΠΆΡƒΡ‚ Π½Π΅Ρ‚ Π»ΠΈ ошибок Π² Ρ‚Π²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ (ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΅ΡΡ‚ΡŒ).
  • Π›ΡŽΠ±Π°Ρ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° Π½Π΅Π³ΠΎ. И ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Single Responsibility.
  • Если ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ сразу Π·Π° Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ дСйствий, Ρ‚ΠΎ Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ.
  • Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ свСрху Π²Π½ΠΈΠ·.
  • Π’ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΈ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ обходится Π±Π΅Π· Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚ ΠΈ усилий.
  • Удаляй ΠΌΠ΅Ρ€Ρ‚Π²Ρ‹ΠΉ ΠΊΠΎΠ΄. ΠœΠ΅Ρ€Ρ‚Π²Ρ‹ΠΉ ΠΊΠΎΠ΄ это ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… условиях ΠΈΠ»ΠΈ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

НаимСнования ΠΈ раздСлСния

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ понятныС ΠΈ удобнопроизносимыС ΠΈΠΌΠ΅Π½Π° для Π»ΡŽΠ±Ρ‹Ρ… сущностСй. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Π΅ΠΌΡƒ эта ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ сущСствуСт, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.
  • НС бойся Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° Π²Ρ‹Π±ΠΎΡ€ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΠΈ понятного ΠΈΠΌΠ΅Π½ΠΈ. Π’Ρ‹ Π²Ρ‹ΠΈΠ³Ρ€Π°Π΅ΡˆΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΠ»ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ этого ΠΊΠΎΠ΄Π°.
  • Если Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сущности Π½Π΅ соотвСтствуСт Π΅Γ« Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ ΠΈΠ»ΠΈ ΠΏΠΎ названию Π½Π΅ понятно, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚, Ρ‚ΠΎ Π΅Γ« Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π² самоС понятноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Если этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ с Π΅Γ« Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ ΠΈ Π΅Γ« Π½Π°Π΄ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ.
  • Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, которая ΠΈΠΌΠ΅Π΅Ρ‚ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ «And», «With» β€” Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Single Responsibility. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Ρ‚Π°ΠΊΠΎΠΉ сущности стоит Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ. Но этим ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ стоит ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°Ρ‚ΡŒ.
  • НСпонятныС тСксты, строки стоит Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌ понятныС названия.
  • Названия ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π³Π»Π°Π³ΠΎΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄. Если Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅Ρ‚ Π³Π»Π°Π³ΠΎΠ»Π°, Ρ‚ΠΎ эта ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅.
  • НуТно ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ для Π΄Π²ΡƒΡ… Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ.
  • Если ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ схоТСС с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ‚ΠΎ скорСС всСго ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΎΡ‡Π΅Π½ΡŒ сильно ΠΏΠΎΡ…ΠΎΠΆ ΠΈ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ? Если Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΈΡ… названия Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌΠΈ.
  • Если Ρ‚Ρ‹ мыслСнно ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π΅ΡˆΡŒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρ‡ΠΈΡ‚Π°Π΅ΡˆΡŒ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅Π±Π΅ Π±Ρ‹Π»ΠΎ понятнСС ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΅Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠΉ Π΅Ρ‘ Π² это мыслСнноС Π½Π°Π·Π²Π°Π½ΠΈΠ΅.
  • Π’Ρ‹Π±Π΅Ρ€ΠΈ ΠΎΠ΄Π½ΠΎ слово для ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ. Π‘Π»ΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», ΠΊΠΎΠ³Π΄Π° Ρƒ тСбя Π΅ΡΡ‚ΡŒ fetch, retrieve ΠΈ get Π² названиях. ΠŸΡƒΡΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ Π²Π΅Π·Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ get.
  • Π”Π»ΠΈΠ½Π½ΠΎΠ΅ ΠΈ понятноС имя Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅, Π½ΠΎ нСпонятноС.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ.
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ.
  • ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ максимум 20 строк ΠΈ 150 символов Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, Ссли Π½Π΅ Π²Π»Π΅Π·Π°Π΅Ρ‚, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ.
  • Ѐункция Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ.
    • Она Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Ρ‘ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π°.
    • Если функция выполняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ абстракции, Ρ‚ΠΎ функция выполняСт ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ.
    • Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ выполняСт Π»ΠΈ функция Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π½Π΅Π΅ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ простой ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
  • Π›ΡŽΠ±Ρ‹Π΅ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ с Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π±ΠΎΡ€Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· switch-case, if-else Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒΡΡ Π±Π΅Π· дублирования, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π° классы с рСализациями, Π° Π²Ρ‹Π±ΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡƒ классу, Ρ„Π°Π±Ρ€ΠΈΠΊΠ΅ ΠΈΠ»ΠΈ Π΅Ρ‰Π΅ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ.
  • If, else, while ΠΈ Ρ‚.Π΄. Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Π΅Π΅, понятнСС ΠΈ ΠΏΡ€ΠΎΡ‰Π΅.
  • ИдСальноС количСство Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ = 0. Если Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² большС Ρ‚Ρ€Π΅Ρ…, Ρ‚ΠΎ стоит Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚ Π½ΠΈΡ… ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс для этих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².
  • Π§Π΅ΠΌ большС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Π΅ΠΌ тяТСлСС понимаСтся функция.
  • Ѐункция Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ пСрСдаСтся Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚-Ρ„Π»Π°Π³, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ зависит Ρ€Π°Π±ΠΎΡ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ функция выполняСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слСдуСт Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π²Ρ‹ΡˆΠ΅.
  • Ѐункция, которая измСняСт Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ссылку Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° Π½Π΅ просто ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π±Π΅Π· Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°. String transform(String text)
  • Если функция, Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎ ΠΏΡƒΡΡ‚ΡŒ ΠΎΠ½Π° измСняСт состояниС своСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°.
  • Если Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ (ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ дальшС Π² ΠΊΠΎΠ΄Π΅), Ρ‚ΠΎ слСдуСт ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠΏΠΈΠ΅ΠΉ.
  • ВмСсто return null Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ пустой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” Collection.empty() ΠΈΠ»ΠΈ null-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ —EmptyObject().
  • ВсСгда старайся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСстатичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Если это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ статичСскиС.
  • Если Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ вмСсто if/else ΠΈΠ»ΠΈ switch/case ΠΈΠ»ΠΈ when.
  • ИзбСгай ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… условий.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

  • НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ссли Ρ‚Ρ‹ моТСшь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ вмСсто этого.
  • НС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ β€” ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈ Π΅Π³ΠΎ. НС стоит ΠΎΠ±ΡŠΡΡΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π² ΠΏΠ»ΠΎΡ…ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π»ΡƒΡ‡ΡˆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ явным ΠΈ понятным.
  • ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, прСдупрСТдСния ΠΎ послСдствиях, Π½ΠΎ Π½Π΅ для объяснСния Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ TODO ΠΈ FIXME Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ нуТдаСтся Π² Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π½ΠΎ сСйчас Π½Π΅Ρ‚ рСсурсов Π½Π° это.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ //region REGIONNAME //endregion REGIONNAME, Π° Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ, Ρ‚ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ region Π½Π° сущности.
  • Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся слоТным, Π½ΠΎ чистым.
  • НС оставляй старый Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π’Ρ‹ моТСшь Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ Π² истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.
  • ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌΠΈ ΠΈ понятными. Π’ коммСнтариях с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ВсС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΈ ΠΏΠΎ Π΄Π΅Π»Ρƒ.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°

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

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ…

  • Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с абстракциями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.
  • Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с абстракциями, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΎ дСталях Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² ΠΊΠ°ΠΊΠΎΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.
  • Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ API, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ стоит Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, структуру. Π’Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π°ΠΊΠΈΠΌΠΈ сущностями ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ.
  • DTO β€” Data Transfer Object. Класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°. НуТСн для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ класса Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ нСизмСняСмым.

ΠšΠ»Π°ΡΡΡ‹

  • ΠšΠ»Π°ΡΡΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ.
  • ΠšΠ»Π°ΡΡΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π΅Π΅.
  • Имя класса Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ отвСтствСнности. ΠžΡ‚ΡΡŽΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ класса.
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» класса Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡Π΅Ρ‚ΠΊΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ класса.
  • РаздСляй ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ Π½Π° малСнькиС классы. ЖСсткой ΠΈ обильной связанности Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ β€” это услоТняСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • Помни ΠΎ Single Responsibility. Π‘ΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ для измСнСния.
  • Боблюдай ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ. ОслаблСниС инкапсуляции всСгда Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ послСднСй ΠΌΠ΅Ρ€ΠΎΠΉ.
  • ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ объявляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ protected ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ ΠΈΠ· тСста.
  • Если Π³Ρ€ΡƒΠΏΠΏΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ относится ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ, Ρ‚ΠΎ эту Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ экзСмпляр.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ Exceptions вмСсто возвращСния ΠΊΠΎΠ΄ΠΎΠ² ошибок.
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок β€” это ΠΎΠ΄Π½Π° опСрация. Если Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово try, Ρ‚ΠΎ послС Π±Π»ΠΎΠΊΠΎΠ² catch/finally Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.
  • Если Ρƒ тСбя Π΅ΡΡ‚ΡŒ enum, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСчисляСт ошибки, Ρ‚ΠΎ ΠΎΡ‚ Π½Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΈ вмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ unchecked exceptions, Ρ‡Ρ‚ΠΎΠ±Ρ‹ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° мСсто Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Π°ΠΊΠΈΠ΅ ошибки Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, вмСсто этого Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ этой ошибки Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π»ΠΎ.
  • ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉ достаточноС количСство ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ вмСстС с выбросом ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ‚Π²ΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.
  • ВмСсто условных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок Π»ΡƒΡ‡ΡˆΠ΅ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ….
  • НС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉ null ΠΊΡƒΠ΄Π°-Π»ΠΈΠ±ΠΎ. Бтарайся этого максимально ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ.
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π° ΠΈ Π½Π΅ относится ΠΊ основной Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π“Ρ€Π°Π½ΠΈΡ†Ρ‹

  • ΠœΡ‹ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‡Π°Ρ‰Π΅ всСго Π΄Π°ΡŽΡ‚ Π½Π°ΠΌ слишком ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ, слишком малСнький Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ грязнСС Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ использовании. Π˜Π·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ Ρ‚ΠΈΠΏΠ° Decorator, Adapter, Facade ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.
  • Π‘Ρ‹Π²Π°ΡŽΡ‚ ситуации, ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅Π±Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π½Π΅ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ для использования Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ ΠΊΠΎΠ΄Π΅. Π’ этом случаС стоит ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‡Π΅Π³ΠΎ Ρ‚Ρ‹ ТдСшь ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ/этого Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой интСрфСйс ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ‚Ρ‹ Π±ΡƒΠ΄Π΅ΡˆΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ρ‚Π΅Π±Π΅ Π½ΡƒΠΆΠ½ΠΎ. Когда Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° додСлаСтся ΠΈ станСт ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ, Ρ‚Ρ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠ΅ΡˆΡŒ Π΅Ρ‘ ΠΏΠΎΠ΄ свои Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ структуры ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».

ПослСсловиС

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

ΠΏΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ· ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊ ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΡŽ ΠΊΠ½ΠΈΠ³ΠΈ для программистов / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π“Πš Π›ΠΠΠ˜Π’ / Π₯Π°Π±Ρ€

НСдавно я написал ΠΎ Β«ΠŸΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΌΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ программирования». Π’ коммСнтариях нСсколько Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π»ΠΈ «Чистый ΠΊΠΎΠ΄Β» Π ΠΎΠ±Π΅Ρ€Ρ‚Π° Π‘. ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ я ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» ΠΊΠ½ΠΈΠ³Ρƒ ΠΈ нашСл Π΅Π΅ достойной ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Π·ΠΎΡ€Π°.

О книгС

«Чистый ΠΊΠΎΠ΄Β» Π±Ρ‹Π» ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π² 2008 Π³ΠΎΠ΄Ρƒ, ΠΈ Π² послСдниС Π³ΠΎΠ΄Ρ‹ ΠΎΠ½ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² пятСрку самых ΠΏΡ€ΠΎΠ΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠ½ΠΈΠ³ Π½Π° Amazon. Автор, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ласково Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ «Дядя Π‘ΠΎΠ±Β», Π±Ρ‹Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Agile Manifesto ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ полномочия. Книга ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° срСдний Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ 4,4 Π½Π° Goodreads ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 13 000 ΠΎΡ†Π΅Π½ΠΎΠΊ. Достаточно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ΠΎΠ΄Π½Π° ΠΈΠ· Ρ‚Π΅Ρ… ΠΊΠ½ΠΈΠ³, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист.

Π’ этом ΠΎΠ±Π·ΠΎΡ€Π΅ я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Π΄ΠΎ пяти основных мыслСй.

1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ искусство

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

Π‘ΠΊΠΎΡ€Π΅Π΅ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ с эскиза, постСпСнно добавляя Π΄Π΅Ρ‚Π°Π»ΠΈ. ΠœΡ‹ пСрСсматриваСм, Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌ β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… уровнях абстракции, ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π½Π΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π½ΠΈΠΊΠΎΠ³Π΄Π° ΠΏΠΎ-настоящСму Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½ΠΎ.

Π’ этом ΠΈ Π΅ΡΡ‚ΡŒ главная ΡΡƒΡ‚ΡŒ «Чистого ΠΊΠΎΠ΄Π°Β». На протяТСнии всСй ΠΊΠ½ΠΈΠ³ΠΈ Π°Π²Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ идСю ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС являСтся искусством ΠΈ сродни Тивописи.Β 

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄. Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: xkcd

Но ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ простого написания ΠΊΠΎΠ΄Π° ΠΊ искусству программирования?

По словам ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π°, основными инструмСнтами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ располагаСм, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° основС тСстирования (TDD). Они Π½Π΅ΠΎΡ‚Π΄Π΅Π»ΠΈΠΌΡ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°, ΠΊΠ°ΠΊ Π΄Π²Π΅ стороны ΠΌΠ΅Π΄Π°Π»ΠΈ. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ опрСдСлСния.

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· тСстированиС β€” это процСсс, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ трСбования ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ тСстовыС сцСнарии, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄ ΠΈ проводится ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ тСстированиС.

Π˜Ρ‚Π°ΠΊ, процСсс создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ.

  1. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ тСсты Π½Π° Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ЕстСствСнно, ΠΎΠ½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
  2. Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ тСсты Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. ΠŸΡƒΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ΄ сначала Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ самым Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ.
  3. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° Π½Π΅ ломая тСсты. Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Ρ€Π°Π·ΠΎΠΌ ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ всС Π±ΠΎΠ»Π΅Π΅ чистым.Β 

Β«Π­Ρ‚ΠΎ ΠΌΠΈΡ„, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ систСмы «с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π°Π·Π°Β». ВмСсто этого, сСгодня ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ «истории», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ систСму для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… историй Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. ΠžΡ‚ΡΡŽΠ΄Π° ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Β».Β 

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, основная идСя, прСдставлСнная ΠœΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΌ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ чистый ΠΊΠΎΠ΄ β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² процСссС ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Π½Π΅ создаСтся Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ!

Β«ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ β€” ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ малСнькими. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Π΅ мСньшС».Β 

Π ΠΎΠ±Π΅Ρ€Ρ‚ Π‘. ΠœΠ°Ρ€Ρ‚ΠΈΠ½

По словам ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π°, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ.

  1. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ β€” Π½Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅ 20 строк ΠΈ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΌΠ΅Π½Π΅Π΅ 10 строк.
  2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.

ΠšΡ€Π°Ρ‚ΠΊΠΎΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ функция выполняСт ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

Автор ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎ классах. По ΠΈΠ΄Π΅Π΅ класс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‰ΡŒ. Π­Ρ‚ΠΎ извСстно ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ СдинствСнной отвСтствСнности (SRP).

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

3. Π”Π΅Π»Π°ΠΉ ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΡΡ

«Ясный ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ с нСбольшим количСством ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ слоТного ΠΊΠΎΠ΄Π° с большим количСством ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²Β».Β 

Π ΠΎΠ±Π΅Ρ€Ρ‚ Π‘. ΠœΠ°Ρ€Ρ‚ΠΈΠ½

Π’ Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…, посвящСнных коммСнтариям, осмыслСнным ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, ΠœΠ°Ρ€Ρ‚ΠΈΠ½ обосновываСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ самодокумСнтирования ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ этого ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:

ПослС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°:

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

  • ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΡƒΠ΄Π°Π»Π΅Π½.
  • Условная Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ΠΌΠ΅Ρ‚ΠΎΠ΄.
  • ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².
  • ΠœΠ΅Ρ‚ΠΎΠ΄Ρƒ даСтся ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅Π³ΠΎ назначСния.

«Чистый ΠΊΠΎΠ΄Β» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΏΠΎΠ»Π½ΡƒΡŽ Π³Π»Π°Π²Ρƒ ΠΎ присвоСнии ΠΈΠΌΠ΅Π½ΠΈ, которая, ΠΏΠΎ сути, являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€Π°Π²ΠΈΠ» Π’ΠΈΠΌΠ° ΠžΡ‚Ρ‚ΠΈΠ½Π³Π΅Ρ€Π°.Β 

Π’ΠΎΡ‚ ΠΎΠ½ΠΈ.

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΠΌΠ΅Π½Π°, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ намСрСния β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, int elapsedTimeInDays, Π° Π½Π΅ int days …
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ произносимыС ΠΈΠΌΠ΅Π½Π° β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Customer, Π° Π½Π΅ DtaRcrd102
  • Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ β€” Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфикс m_ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅Π½Π³Π΅Ρ€ΡΠΊΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ.
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ слово для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ β€” Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ наимСнования Ρ‚ΠΈΠΏΠ° fetch, retrieve, get для ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ сути.

4. Абстракция Π²Π°ΠΆΠ½Π°

Абстракция. Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: Abstruse Goose

Богласно «Чистому ΠΊΠΎΠ΄ΡƒΒ», Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ наши Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ находятся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ абстракции.

ΠœΠ°Ρ€Ρ‚ΠΈΠ½ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΠ· FitNesse:

Π­Ρ‚ΠΎ сочСтаниС ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²ΡƒΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции. ΠŸΠ΅Ρ€Π²Π°Ρ β€” это высокоуровнСвая концСпция Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Ρ‚Π΅Π³Π° hr с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ, вторая β€” это Π΄Π΅Ρ‚Π°Π»ΠΈ фактичСского синтаксиса Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ построСния Ρ‚Π΅Π³Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это, ΠΊΠΎΠ΄ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π±ΠΎΠ»Π΅Π΅ чисто, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

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

  • Ѐункция render () Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° созданиС Ρ‚Π΅Π³Π° hr.
  • НизкоуровнСвыС Π΄Π΅Ρ‚Π°Π»ΠΈ построСния Ρ‚Π΅Π³Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ HtmlTag.
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° абстрагировано Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

По словам ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π°:

Β«Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых слоТных для достиТСния успСха».

Π’Π΅ΠΏΠ΅Ρ€ΡŒ я Π±ΡƒΠ΄Ρƒ ΡƒΠ΄Π΅Π»ΡΡ‚ΡŒ этому большСС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

5. Чистый ΠΊΠΎΠ΄ β€” это тяТСлая Ρ€Π°Π±ΠΎΡ‚Π° ΠΈ соблюдСниС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ²

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

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

«Чистый ΠΊΠΎΠ΄ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π΅ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Π’Ρ‹ Π½Π΅ станСтС мастСром ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΈΠ·ΡƒΡ‡ΠΈΠ² список ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ². ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΌ ΠΈ мастСрство ΠΏΡ€ΠΎΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‚ ΠΈΠ· цСнностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ дисциплину».Β 

Π ΠΎΠ±Π΅Ρ€Ρ‚ Π‘. ΠœΠ°Ρ€Ρ‚ΠΈΠ½

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

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

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

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

P.s. Бпасибо Zack Shapiro

Π’ Π›ΠΠΠ˜Π’ Π΅ΡΡ‚ΡŒ вакансии Π² области Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’Π΅, ΠΊΡ‚ΠΎ Ρ†Π΅Π½ΠΈΡ‚ эту ΠΊΠ½ΠΈΠ³Ρƒ, – милости просим ΠΊ Π½Π°ΠΌ.

РСцСнзия Π½Π° ΠΊΠ½ΠΈΠ³Ρƒ β€œΠ§ΠΈΡΡ‚Ρ‹ΠΉ ΠΊΠΎΠ΄. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· ΠΈ



β€œΠ§ΠΈΡΡ‚Ρ‹ΠΉ ΠΊΠΎΠ΄ прост ΠΈ прямолинССн”


— Π“Ρ€Π΅Π΄ΠΈ Буч​​​​​​




О «ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ» ΠΈ «Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ» ΠΊΠΎΠ΄Π΅


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


  • НСпонятно Π½Π°Π·Π²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, классы, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹;
  • ИспользованиС β€œΠΌΠ°Π³ΠΈΡ‡Π΅ΡΠΊΠΈΡ… чисСл”;
  • ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° с ΠΎΠ΄Π½ΠΈΠΌΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ;
  • ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ использования общСпринятых ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…;
  • Π—Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

β€œΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ код” ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ошибки. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для сохранСния β€œΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈβ€ ΠΊΠΎΠ΄Π° сообщСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² всС врСмя ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ стандарты ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для Π΅Π³ΠΎ написания. Об этих рСкомСндациях ΠΊΠ°ΠΊ Ρ€Π°Π· рассказываСт ΠΊΠ½ΠΈΠ³Π° β€œΠ§ΠΈΡΡ‚Ρ‹ΠΉ ΠšΠΎΠ΄β€, Π°Π²Ρ‚ΠΎΡ€Π° Π ΠΎΠ±Π΅Ρ€Ρ‚Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π°.


ΠšΠΎΠΌΡƒ слСдуСт ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ?


ΠšΠ½ΠΈΠ³Ρƒ стоит ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ:


  • Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ свою ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ;
  • Π›ΠΈΠ΄Π΅Ρ€Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄, для создания Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ стиля Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅;
  • ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π° Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ тратят врСмя.

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


  1. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.
  2. АвтоматичСскоС тСстированиС, ΡŽΠ½ΠΈΡ‚-тСстированиС.

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


ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅Β  Π³Π»Π°Π²:



ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ листингов:





ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ


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


КаТдой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ посвящСна ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π³Π»Π°Π²Π°, Π³Π΄Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ошибки ΠΈ Π΄Π°ΡŽΡ‚ΡΡ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΊΠ½ΠΈΠ³ΠΈ посвящСна ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ оформлСния ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ:


  • Π’Ρ‹Π±ΠΎΡ€ ΠΈΠΌΠ΅Π½ для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²;
  • Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΊ написанию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;
  • Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ использованию ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²;
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°;
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ;
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ.

Вторая ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ оформлСния, Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚Π°ΠΊΠΆΠ΅:


  • Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ прилоТСния;
  • Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ написанию ΡŽΠ½ΠΈΡ‚ тСстов;
  • ВзаимодСйствиС со сторонним ΠΊΠΎΠ΄ΠΎΠΌ;
  • Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния Π·Π°Π΄Π°Ρ‡.

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ стороны ΠΊΠ½ΠΈΠ³ΠΈ


К ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сторонам ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ отнСсти:


  • ОписаниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ простым языком;
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³ΠΈ: ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° — ΠΎΠ΄Π½Π° Π³Π»Π°Π²Π°;
  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ совСтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ сразу;
  • Много ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²;
  • ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ Π³Π»Π°Π²Π° ΠΏΠΎ многопоточности.

ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ стороны:


  • ΠžΡ‡Π΅Π½ΡŒ большиС листинги ΠΊΠΎΠ΄Π° Π² ΠΊΠ½ΠΈΠ³Π΅, ΠΈΠ½ΠΎΠ³Π΄Π° Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ дСсяток страниц;
  • ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ тяТСло ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ;

Π’Ρ‹Π²ΠΎΠ΄Ρ‹


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


  • Β«Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ с использованиСм шаблонов». Π”ΠΆΠΎΡˆΡƒΠ°Β ΠšΠ΅Ρ€ΠΈΠ΅Π²ΡΠΊΠΈ;
  • Β«Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°Β». Π”ΠΆΠ΅ΠΉΠ½ РобСртс;
  • «ЭффСктивная Ρ€Π°Π±ΠΎΡ‚Π° с унаслСдованным ΠΊΠΎΠ΄ΠΎΠΌΒ». Майкл К. ЀизСрс;
  • Β«Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄Β». Π‘Ρ‚ΠΈΠ² МакконнСлл.

Чистый ΠΊΠΎΠ΄. Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½

Π­Ρ‚Ρƒ ΠΊΠ½ΠΈΠ³Ρƒ я читал Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄. Но СдинствСнноС, Ρ‡Ρ‚ΠΎ помню ΠΈΠ·Β Π½Π΅Ρ‘, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ нС понравился ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ в этот Ρ€Π°Π· ΡΒ Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ Π΅Ρ‘Β Π²Β ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π΅ ΠΈΒ Π·Π°ΠΎΠ΄Π½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π³ΠΎΠ΄Π½Ρ‹Π΅ мысли Π²Β Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ°Ρ…. БСгодня рассмотрим ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 4Β Π³Π»Π°Π²Ρ‹.

Π“Π»Π°Π²Π°Β 1. Чистый ΠΊΠΎΠ΄

Π’Β ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π»Π°Π²Π΅ Π°Π²Ρ‚ΠΎΡ€ Π΄Π°Ρ‘Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ чистому ΠΊΠΎΠ΄Ρƒ. Если ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС описания Π²Β ΠΎΠ΄ΠΈΠ½ список, то чистый ΠΊΠΎΠ΄:

  • элСгантный ΠΈΒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ;
  • простой и нСдвусмыслСнный;
  • Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΈΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ;
  • тСстируСмый и с минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ API.

Π“Π»Π°Π²Π°Β 2. Названия

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ:

  • названия Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ понятными ΠΈΒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ;
  • Π²Β Π½ΠΈΡ… Π½Π΅Β Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ двусмыслСнности;
  • Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ в названиях β€” ΠΏΠ»ΠΎΡ…ΠΎ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ названия, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹Β Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

// ΠΏΠ»ΠΎΡ…ΠΎ
let d; // elapsed time in days

// Ρ…ΠΎΡ€ΠΎΡˆΠΎ
let elapsedTimeInDays;

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ двусмыслСнных Π½Π°Π·Π²Π°Π½ΠΈΠΉ. НС стоит Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ accountList Ссли это нС список. ΠΠ΅Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ названия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ-двумя символами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅Β ΠΏΡƒΡ‚Π°Ρ‚ΡŒΒ ΠΈΡ….

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ произносимыС ΠΈΠΌΠ΅Π½Π°. АббрСвиатур слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ.

// ΠΏΠ»ΠΎΡ…ΠΎ
let genymdhms;
class DtRec102 = { /* ... */ };

// Ρ…ΠΎΡ€ΠΎΡˆΠΎ
let generationTimestamp;
class Customer = { /* ... */ };

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΡΒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ быстро считываСтся ΠΈΒ Π»Π΅Π³ΠΊΠΎ ищСтся. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ i, j, k стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для счётчиков. Названия Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π³Π»Π°Π³ΠΎΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с них. Π“Π΅Ρ‚Ρ‚Π΅Ρ€Ρ‹, сСттСры ΠΈΒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ с прСфиксами: get, set, is, has ΠΈ Ρ‚. Π΄.

ΠŸΡ€ΠΈΠΌ. Π°Π²Ρ‚ΠΎΡ€Π° поста: Π΄ΡƒΠΌΠ°ΡŽ, Π²Β ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… функциях Π³Π»Π°Π³ΠΎΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: convertIntToStr β†’intToStr.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄Π½ΠΎ ΠΈΒ Ρ‚ΠΎΒ ΠΆΠ΅ слово для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΒ Ρ‚ΠΎΠ³ΠΎΒ ΠΆΠ΅ понятия. Если Π²Β Ρ€Π°Π·Π½Ρ‹Ρ… классах схоТиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΒ Ρ€Π°Π·Π½ΠΎΠΌΡƒ: fetch, get, load β€” Ρ‚ΠΎΒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ.

Π“Π»Π°Π²Π°Β 3. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ:

  • ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΡ…;
  • Ρ‡Π΅ΠΌ мСньшС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅;
  • Ρ„Π»Π°Π³ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π°Β ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с настройками.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅Β Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ большими. Π›ΡƒΡ‡ΡˆΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” 2–3 строки. (ΠŸΡ€ΠΈΠΌ. Π°Π²Ρ‚ΠΎΡ€Π° поста: ΠΏΡ€ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ β€” спорно.) КаТдая функция Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ дСйствиС. ΠΠΎΒ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Π΅Π΅ с опрСдСлСниСм Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Β«ΠΎΠ΄Π½ΠΎ дСйствиС». КакиС-Ρ‚ΠΎ части ΠΌΠΎΠΆΠ½ΠΎ вынСсти Π²Β ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΡƒΠΌΠ΅ΠΉΡ‚Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²Β ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

Названия Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π΅Π»Π°ΡŽΡ‚. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ консистСнтными, и нСдвусмыслСнными.

Π‘ΠΎΠ»ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ 3Β Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нС стоит. Π€Π»Π°Π³ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°Β ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с настройками.

// ΠΏΠ»ΠΎΡ…ΠΎ
const initPopup = (
  node,
  closeOnEsc=false,
  closeWithAnimation=false
) => {
  /* ... */
}

// Ρ…ΠΎΡ€ΠΎΡˆΠΎ
const initPopup = (node, options={}) => {
  const {
    closeOnEsc=false,
    closeWithAnimation=false
  } = options
  /* ... */
}

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с побочными дСйствиями и дублирования ΠΊΠΎΠ΄Π°.

Π“Π»Π°Π²Π°Β 4. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ:

  • ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π΅Β Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄;
  • ΠΈΒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π²Β ΠΊΠΎΠ΄Π΅.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹Β Π½Π΅Β ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ прямо Π²Β ΠΊΠΎΠ΄Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ стоит ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈΒ ΡΡ‚Π°Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΌΡ‹ΡΠ»ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

// ΠΏΠ»ΠΎΡ…ΠΎ
// if the employee is eligible for full benefits
if ((employee.flags.includes(HOURLY_FLAG)) && (employee.age > 65)) { /* ... */ }

// Ρ…ΠΎΡ€ΠΎΡˆΠΎ
if (employee.isEligibleForFullBenefits()) { /* ... */ }

В коммСнтариях Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Β ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊΒ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Π΅Π³ΠΎ Π½Π΅Β Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с вашим ΠΊΠΎΠ΄ΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ стоит в коммСнтариях ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ΡŒ об извСстных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… с этой Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄Π°.

Π˜Π·Π±Π°Π²Π»ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΡ‚Β Π»ΠΈΡˆΠ½ΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ понятно из прямо ΠΊΠΎΠ΄Π°, Π½Π΅Β Π½ΡƒΠΆΠ½ΠΎ это ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π£Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ и вводящиС Π²Β Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π£Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉΒ ΠΊΠΎΠ΄.

Π’Β ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·

Π’Β Π³Π»Π°Π²Π°Ρ… 5–8 обсудим:

  • Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ;
  • структуры Π΄Π°Π½Π½Ρ‹Ρ…, абстракции;
  • ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок ΠΈΒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «чистый ΠΊΠΎΠ΄Β» Π² 2020-ΠΌ? / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ JUG Ru Group / Π₯Π°Π±Ρ€

«Чистый ΠΊΠΎΠ΄Β» ΠΈ чистый ΠΊΠΎΡ‚

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ…Π»Π΅Π±ΠΎΠΌ Π½Π΅ ΠΊΠΎΡ€ΠΌΠΈ, Π΄Π°ΠΉ ΠΏΠΎΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ чистотС ΠΊΠΎΠ΄Π°: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅Π΄Π°Π²Π½ΠΎ ΡˆΡƒΠΌΠΈΡ…Ρƒ Π½Π°Π²Ρ‘Π» пост Дэна Абрамова Β«Goodbye, Clean CodeΒ».

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

Нам стало интСрСсно: Π² 2020-ΠΌ прСдставлСния чСловСчСства ΠΎ чистом ΠΊΠΎΠ΄Π΅ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅, ΠΈΠ»ΠΈ с Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΊΠ½ΠΈΠ³ΠΈ ΠΊΠ°ΠΊ-Ρ‚ΠΎ измСнились? Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π»ΠΈ мнСния Ρƒ Ρ€Π°Π·Π½Ρ‹Ρ… Π°ΠΉΡ‚ΠΈΡˆΠ½ΠΈΠΊΠΎΠ²: ΠΌΠΎΠΆΠ΅Ρ‚, бэкСндСры видят всё с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ракурса, Π° тСстировщики с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ?

Π’ Π°ΠΏΡ€Π΅Π»Π΅ Π”ΡΠ΄ΡŽΡˆΠΊΠ° Π‘ΠΎΠ± ΠΏΡ€ΠΈΠ»Π΅Ρ‚ΠΈΡ‚ Π² ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ Π²Ρ‹ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€Ρ‘Ρ… Π½Π°ΡˆΠΈΡ… конфСрСнциях, ΠΈ ΠΎΠ½ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΏΠΎ Ρ‚Ρ€Ρ‘ΠΌ Ρ€Π°Π·Π½Ρ‹ΠΌ направлСниям (ΠΏΡ€ΠΎ .NET-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΏΡ€ΠΎ тСстированиС ΠΈ ΠΏΡ€ΠΎ JavaScript). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ спросили Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… спикСров этих ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ чистый ΠΊΠΎΠ΄ для Π½ΠΈΡ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ мнСния экспСртов индустрии Π² 2020-ΠΌ.

А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π΅ΠΌΠ° холиварная, навСрняка ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· вас окаТСтся Π½Π΅ согласСн с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Ρ‚ΠΎ ΠΈΠ· ΠΌΠ½Π΅Π½ΠΈΠΉ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π°ΠΉΠ΄Π° ΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ Π² коммСнтариях, это Ρ‚ΠΎΠΆΠ΅ вСсСло!

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

DotNext

Π”ΠΆΠΎΠ½ Π‘ΠΊΠΈΡ‚

Π”ΠΆΠΎΠ½ β€” Π»Π΅Π³Π΅Π½Π΄Π° Stack Overflow, Π°Π²Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ Β«C# in DepthΒ» ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых извСстных Π΄ΠΎΡ‚Π½Π΅Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠ»Π°Π½Π΅Ρ‚Ρ‹. Он Π΄Π°Π» Π½Π°ΠΌ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:

«Для мСня чистый ΠΊΠΎΠ΄ β€” это скучный ΠΊΠΎΠ΄, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. ЕдинствСнный ΡΡŽΡ€ΠΏΡ€ΠΈΠ· Π² Π½Ρ‘ΠΌ β€” это Ρ‚ΠΎ, насколько ΠΎΠ½ Π»ΠΈΡˆΡ‘Π½ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠ². Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ β€žΠ”Π°, я Π±Ρ‹ ΠΌΠΎΠ³ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒβ€, Π΄Π°ΠΆΠ΅ Ссли Π±Ρ‹ Π½Π° самом Π΄Π΅Π»Π΅ я ΠΈ Π½Π΅ ΠΌΠΎΠ³ β€” ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠ½ спроСктирован.

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

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


АндрСй Акиньшин

ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡΠΌ DotNext Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ АндрСя, Π½ΠΎ для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… расскаТСм, Ρ‡Ρ‚ΠΎ ΠΎΠ½ извСстСн своСй Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π½Π°Π΄ IDE Rider, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ BenchmarkDotNet, яркими Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΎΠΉ Β«Pro .NET BenchmarkingΒ».

Когда ΠΌΡ‹ спросили, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄ΡƒΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΎ чистый ΠΊΠΎΠ΄, АндрСй сослался Π½Π° Π΄Π²Π° своих старых хабрапоста: Β«Π‘ΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹Β» ΠΈ Β«ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ». И ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ для вас ΠΏΠ°Ρ€Ρƒ Π°Π±Π·Π°Ρ†Π΅Π² ΠΎΡ‚Ρ‚ΡƒΠ΄Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ навСрняка Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ:

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

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


Π”ΠΈΠ»Π°Π½ Π‘ΠΈΡ‚Ρ‚ΠΈ

Π₯Π°Π±Ρ€Π°Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π”ΠΈΠ»Π°Π½Π° ΠΏΠΎ Π΅Π³ΠΎ Π²Π΄ΡƒΠΌΡ‡ΠΈΠ²ΠΎΠΌΡƒ ΠΈ яркому Π΄ΠΎΠΊΠ»Π°Π΄Ρƒ ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ с лСгаси-ΠΊΠΎΠ΄ΠΎΠΌ: для Π₯Π°Π±Ρ€Π° ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΡƒ. И ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈΡΡŒ ΠΊ Π”ΠΈΠ»Π°Π½Ρƒ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ чистого ΠΊΠΎΠ΄Π°, ΠΎΠ½ написал Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ тСкст, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Ρ…ΠΎΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ постом ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉ:

«Для мСня интСрСсно, Ρ‡Ρ‚ΠΎ понятиС «чистый ΠΊΠΎΠ΄Β» Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ ΠΊΡ€ΡƒΠ³Π° людСй, Ρ‡ΠΈΡ‚Π°Π²ΡˆΠΈΡ… ΠΊΠ½ΠΈΠ³Ρƒ Π ΠΎΠ±Π΅Ρ€Ρ‚Π° ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π°. Π― общался с ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ, ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ слова Β«clean codeΒ», Π½ΠΎ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π»ΠΈ ΠΊΠ½ΠΈΠ³Ρƒ. Π― Π΄Π°ΠΆΠ΅ встрСчал ΠΈΡ… Π² ΠΊΠΎΠ΄Ρ€Π΅Π²ΡŒΡŽ: Β«Π’ΡƒΡ‚ всё довольно Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ моТСшь Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ?Β» β€” ΠΈ такая ΠΏΡ€ΠΎΡΡŒΠ±Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΠΉ, Ссли Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ «чистый» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ контСкстС.

Π’ английском Π΅ΡΡ‚ΡŒ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ вмСстС β€” Β«cleanΒ», Β«tidyΒ», Β«organisedΒ», Β«neatΒ» β€” ΠΈ для мСня ΠΊΠ°ΠΊ носитСля английского ΠΎΠ½ΠΈ всС ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ этих слов ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ софта.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΡƒΡ…Π½ΡŽ рСсторана. Π£ слова Β«cleanΒ» Π² этом контСкстС Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΊΠΎΠ½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ. Всё Π²Ρ‹ΠΌΡ‹Ρ‚ΠΎ, стСрилизовано, Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ зараТСния ΠΈΠ·-Π·Π° сырых ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.

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

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ прСдставим Π΄Π΅Ρ€Π΅Π²ΠΎΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ†Π΅Ρ…. Π’ этом мСстС Π³Ρ€ΡΠ·ΡŒ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎ здСсь Ρƒ вас совсСм Π½Π΅ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ «чистоты», ΠΊΠ°ΠΊ Π½Π° ΠΊΡƒΡ…Π½Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡ΠΈΡ‰Π°Ρ‚ΡŒ Π·ΡƒΠ±ΠΈΠ»ΠΎ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π΅ Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΡΠ²Π΅Ρ€ΠΊΠ°Ρ‚ΡŒ, Π½ΠΎ Π²Ρ‹ всё Ρ€Π°Π²Π½ΠΎ вряд Π»ΠΈ стали Π±Ρ‹ Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΈΠΌ сосиски. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ слово Β«cleanΒ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.

Но для мСня слова Π²Ρ€ΠΎΠ΄Π΅ Β«tidyΒ» ΠΈ Β«organisedΒ» Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈ Ρ‚Π°ΠΊΠΈΡ… контСкстах, Π³Π΄Π΅ Β«cleanΒ» Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Β«OrganisedΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΊΠ°ΠΊ слСдуСт ΠΏΠΎΠ΄ΡƒΠΌΠ°Π», ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ элСмСнты ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мСста, Π° Β«tidyΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ эти элСмСнты Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ находятся Π½Π° ΠΎΡ‚Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… ΠΈΠΌ мСстах. Как говорится Π² старой ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ΅, «всСму Π΅ΡΡ‚ΡŒ своё мСсто ΠΈ всё Π½Π° своём мСстС».

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

Β«OrganisedΒ» β€” это ΠΏΡ€ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ. Π­Ρ‚ΠΎ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Ρ‹Ρ€Π½ΡƒΡ‚ΡŒ Π² Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡƒΡŽ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π²Π΅Ρ‰ΠΈ Ρ‚Π°ΠΌ, Π³Π΄Π΅ оТидаСшь ΠΈΡ… ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚, Π° Π½Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚; ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π°Π·Π²Π°Π½Ρ‹ Π½Π΅ просто ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π°Π·Π²Π°Π½Ρ‹ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния языка, Π½ΠΎ ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ язык бизнСса, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΡˆΡŒ.

А Β«tidyΒ» β€” это ΠΏΡ€ΠΎ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… конвСнций… кодовая Π±Π°Π·Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ моТСшь Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ мСстах, Π΄Π°ΠΆΠ΅ Ссли конкрСтная организационная модСль Π²Π°ΠΌ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ слишком понятна.

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


Heisenbug

Π­Ρ‚ΠΎ «конфСрСнция ΠΏΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для тСстировщиков»: ΠΎΠ½Π° Π½Π° стыкС тСстирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΅Ρ‘ спикСры ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ спСцифику ΠΎΠ±ΠΎΠΈΡ… этих ΠΌΠΈΡ€ΠΎΠ² сразу.

Иван ΠšΡ€ΡƒΡ‚ΠΎΠ² ΠΈ Анна Π§Π΅Ρ€Π½Ρ‹ΡˆΠ΅Π²Π°

Иван ΠΈ Анна Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² Ρ€Π°Π·Π½Ρ‹Ρ… компаниях, Π½ΠΎ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚: ΠΎΠ±Π° ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡŽΡ‚ ΠΏΡ€ΠΎ Selenium. ΠœΡ‹ ΠΎΠ±Ρ‰Π°Π»ΠΈΡΡŒ с Π½ΠΈΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ совмСстноС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:

Иван: «Для мСня самоС простоС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ чистого ΠΊΠΎΠ΄Π° β€” это ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ понятСн Π±Π΅Π· ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Β«ΡΠ°ΠΌΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡΒ». Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π²Π°Π»Π΅Π½ коммСнтариями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ β€” это Π½Π΅ чистый ΠΊΠΎΠ΄Β».

Анна: Β«Π£ мСня ΠΏΠΎΡ…ΠΎΠΆΠ΅: это ΠΊΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ быстро Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π°Π³, Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΒ».

Иван: Β«Π•Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Β«ΠΊΠΎΠ΄, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ стыдно». Π’ΠΎΠΎΠ±Ρ‰Π΅ говорят, Ρ‡Ρ‚ΠΎ Ссли Ρ‚Ρ‹ ΡΠΌΠΎΡ‚Ρ€ΠΈΡˆΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написал ΠΏΠΎΠ»Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄, ΠΈ Π½Π΅ ΡƒΠΆΠ°ΡΠ°Π΅ΡˆΡŒΡΡ, Ρ‚ΠΎ Ρ‚Ρ‹ Π½Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΡˆΡŒΡΡ. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π³ΠΎΠ΄ΠΎΠΌ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ всё Ρ‡ΠΈΡ‰Π΅Β».


БСбастиан Π”Π°ΡˆΠ½Π΅Ρ€

БСбастиан β€” Lead Java Developer Advocate Π² IBM, ΠΈ Π΅Π³ΠΎ часто ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° Java-конфСрСнциях. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сСйчас ΠΎΠ½ ΠΏΡ€ΠΈΠ»Π΅Ρ‚Π°Π΅Ρ‚ Π½Π° Heisenbug, ΠΌΡ‹ спросили Π΅Π³ΠΎ ΠΎ чистом ΠΊΠΎΠ΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² контСкстС тСстирования, ΠΈ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»:

«По ΠΌΠΎΠ΅ΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ, качСство ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ для Π½Π°ΡˆΠΈΡ… тСстов. Π’ тСстах чистым ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ абстракциями ΠΈ Π΄Π΅Π»Π΅Π³Π°Ρ†ΠΈΠ΅ΠΉ часто ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ тСстов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΡˆΡŒ. Когда ΠΌΡ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠΌ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-ΠΊΠΎΠ΄ ΠΈ мСняСм Π΅Π³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, становится Π²ΠΈΠ΄Π½ΠΎ, Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π»ΠΈ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π»ΠΈ Π½Π°Π΄ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π°ΡˆΠΈΡ… тСстов».


АндрСй Π›ΡƒΡˆΠ½ΠΈΠΊΠΎΠ²

АндрСй Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ инструмСнтом для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Playwright, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π½Π΅Π΄Π°Π²Π½ΠΎ писали. Π•Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ оказалось самым Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ:

«Чистый ΠΊΠΎΠ΄ β€” это Ρ‚ΡƒΠΏΠΎΠΉ, ΠΎΡ‡Π΅Π½ΡŒ понятный ΠΊΠΎΠ΄. И Ρ‡Π΅ΠΌ Ρ‚ΡƒΠΏΠ΅Π΅, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅Β».


АлСксандра Π‘Π²Π°Ρ‚ΠΈΠΊΠΎΠ²Π°

АлСксандра β€” экспСрт ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…, которая Β«Π½Π°Ρ‡ΠΈΠ½Π°Π»Π° Π² IT ΠΊΠ°ΠΊ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π½ΠΎ свСрнула Π½Π΅ Ρ‚ΡƒΠ΄Π°Β». Π•Ρ‘ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ оказалось Ρ‚Π°ΠΊΠΈΠΌ:

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

На Π΄Π΅Π»Π΅ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ структурирован, Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π΅Π½, слСдуСт общСпринятым ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌ для Ρ‚ΠΎΠ³ΠΎ языка Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написан, Π½Π΅ содСрТит нСявных зависимостСй ΠΈΠ»ΠΈ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов ΠΈ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ тСстами».


HolyJS

АндрСй ΠœΠ΅Π»ΠΈΡ…ΠΎΠ²

АндрСй извСстСн ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Β«Π”Π΅Π²ΡˆΠ°Ρ…Ρ‚Π°Β». ΠΠ΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, постоянно Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ свои мысли Π² Β«Π”Π΅Π²ΡˆΠ°Ρ…Ρ‚Π°-подкастС», ΠΈ свою ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ сформулировал Ρ‡Ρ‘Ρ‚ΠΊΠΎ:

Β«Π ΠΎΠ±Π΅Ρ€Ρ‚ «Дядя» ΠœΠ°Ρ€Ρ‚ΠΈΠ½ трСмя своими Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ (Β«Clean CodeΒ», Β«The Clean CoderΒ» ΠΈ Β«Clean ArchitectureΒ»), ΠΊΠ°ΠΊ ΠΌΠ½Π΅ каТСтся, пытаСтся для сСбя ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° вопросы: ΠΊΡ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΈΡΠ°Ρ‚ΡŒ. МоТно ΠΏΠΎΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ коррСктности Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅Π³ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ², Π½ΠΎ Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ, нСоспоримо β€” эти ΠΊΠ½ΠΈΠ³ΠΈ построСны Π½Π° Π±ΠΎΠ³Π°Ρ‚ΠΎΠΌ Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΠΏΡ‹Ρ‚Π΅ ΠΈ Π·Π΄Ρ€Π°Π²ΠΎΠΌ смыслС. И Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этой ΠΈΠ΄Π΅ΠΈ я ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ для мСня чистый ΠΊΠΎΠ΄ β€” это ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написал Π±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΡΠΏΠΎΡ‚ΠΊΠ½ΡƒΠ²ΡˆΠΈΠΉΡΡ ΠΎ Π½Π΅ΠΌΠ°Π»ΠΎΠ΅ количСство ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ Π² своСй ΠΆΠΈΠ·Π½ΠΈ ΠΈ Π² этом Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠΌ процСссС Π½Π°ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ ΠΈΠ΄Ρ‚ΠΈ остороТной ΠΏΠΎΡ…ΠΎΠ΄ΠΊΠΎΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ этих ΠΊΠ°ΠΌΠ½Π΅ΠΉ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ.

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

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


АлСксандра Калинина

АлСксандра состоит Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚Π΅ HolyJS, Ρƒ Π½Π΅Ρ‘ большой ΠΎΠΏΡ‹Ρ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ β€” ΠΈ, хотя ΠΎΠ½Π° Π½Π΅ с Heisenbug, с тСстами ΠΎΠ½Π° Ρ‚ΠΎΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠ° Π½Π΅ ΠΏΠΎΠ½Π°ΡΠ»Ρ‹ΡˆΠΊΠ΅ (unit, integration, E2E, B2B). Π’ΠΎΡ‚ Π΅Ρ‘ тСкст:

Β«Clean code β€” сСйчас это простоС понятиС, Π½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π³ΠΎ довольно Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ. МнС каТСтся, Ρ‡Ρ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ соблюдСнии ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»:

β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ кусочСк ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ расти/ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒΡΡ нСзависимо ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… кусочков, Π½ΠΎ ΠΏΡ€ΠΈ этом ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ идСю/ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ кусочками (Π² этом ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ SOLID, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ «всС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ приняты ΠΏΠΎΠ·ΠΆΠ΅, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅Β»).

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

β€” ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ структуру. Π’.Π΅. Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ понятна ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ кусочСк ΠΊΠΎΠ΄Π° находится Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

β€” каТдая строчка ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ обоснована с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бизнСса»


NicolΓ² Ribaudo

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

«Чистый ΠΊΠΎΠ΄ β€” это ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° малСнькиС Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅.

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

Код ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ чистым Π²Π½Π΅ зависимости ΠΎΡ‚ языка программирования ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹: Π°Ρ‚ΠΎΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ малСнькиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠ°ΠΊ малСнькиС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, Π½Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ синтаксичСски».


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

НаконСц, ΠΊΠΎΠ³Π΄Π° мнСния Π±Ρ‹Π»ΠΈ собраны, ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΠΈΡ… самому Π”ΡΠ΄ΡŽΡˆΠΊΠ΅ Π‘ΠΎΠ±Ρƒ ΠΈ спросили, хочСтся Π»ΠΈ Π΅ΠΌΡƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ. ΠžΡ‚Π²Π΅Ρ‚ оказался Ρ‚Π°ΠΊΠΈΠΌ:

Β«Π― ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²Ρ‹ΡˆΠ΅. Π― Π±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π²Π΅Ρ‰ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ сказал Майкл ЀСзСрс: β€œΠ§ΠΈΡΡ‚Ρ‹ΠΉ ΠΊΠΎΠ΄ всСгда выглядит Ρ‚Π°ΠΊ, Π±ΡƒΠ΄Ρ‚ΠΎ Π΅Π³ΠΎ писал Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π΅ всё равно”».

Π•Π³ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π·Π²ΡƒΡ‡ΠΈΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎ. Но чистый ΠΊΠΎΠ΄ β€” такая дискуссионная Ρ‚Π΅ΠΌΠ°, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· вас согласно ΠΊΠΈΠ²Π°Π΅Ρ‚, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ навСрняка Π³ΠΎΡ€ΠΈΡ‚, ощущая Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅:

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


UPD 12 ΠΌΠ°Ρ€Ρ‚Π°: Π₯ΠΎΡ‚ΡŒ Π”ΡΠ΄ΡŽΡˆΠΊΠ° Π‘ΠΎΠ± ΠΈ Π½Π΅ смоТСт ΠΊ Π½Π°ΠΌ ΠΏΡ€ΠΈΠ»Π΅Ρ‚Π΅Ρ‚ΡŒ, вряд Π»ΠΈ наши пСтСрбургскиС ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ (для .NET-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², тСстировщиков ΠΈ JavaScript-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²) обойдутся Π±Π΅Π· споров ΠΎ чистом ΠΊΠΎΠ΄Π΅. На сайтах ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ β€” всСгда Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° обновлСниями, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° наши рассылки β€” Ρ€Π°Π· Π² нСдСлю Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ± измСнСниях.

Как ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый ΠΈ красивый ΠΊΠΎΠ΄ / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ RUVDS.com / Π₯Π°Π±Ρ€

Каким Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ качСствСнный ΠΊΠΎΠ΄? Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π²Ρ‹Ρ€Π°Π·ΠΈΠ» это нСвСроятно Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° сказал: «ЕдинствСнная адСкватная ΠΌΠ΅Ρ€Π° качСства ΠΊΠΎΠ΄Π° β€” это количСство восклицаний Β«ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‡Ρ‘Ρ€Ρ‚Π°!Β» Π² ΠΌΠΈΠ½ΡƒΡ‚ΡƒΒ».


ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ эту идСю.


ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° я Ρ‡ΠΈΡ‚Π°ΡŽ Ρ‡ΡƒΠΆΠΎΠΉ ΠΊΠΎΠ΄, Π²ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ мысли приходят ΠΌΠ½Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ:

  • Какого Ρ‡Ρ‘Ρ€Ρ‚Π°! (с ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ) β€” ΠΊΠΎΠ³Π΄Π° Π² Π½Π΅ΠΊΠΎΠ΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° Π½Π΅Ρ‚ нСобходимости.
  • Какого Ρ‡Ρ‘Ρ€Ρ‚Π°! (с восхищСниСм) β€” ΠΊΠΎΠ³Π΄Π° программист сдСлал Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ΅.
  • Какого Ρ‡Ρ‘Ρ€Ρ‚Π°! (с Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ) β€” ΠΊΠΎΠ³Π΄Π° я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚ уТас, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Ρƒ мСня ΠΏΠ΅Ρ€Π΅Π΄ Π³Π»Π°Π·Π°ΠΌΠΈ.

Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΊΠΎΠ΄Π°? Π­Ρ‚ΠΎ Ρ‚ΠΎ, насколько ΠΎΠ½ чист ΠΈ красив. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ являСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ высокого профСссионализма Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ Π΅Π³ΠΎ написал.

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

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

Π’ΠΎΡ‚ нСсколько ΠΈΠ΄Π΅ΠΉ, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ смоТСтС ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡŒΡΡ Π½Π° ΠΏΡƒΡ‚ΠΈ освоСния искусства написания чистого ΠΈ красивого ΠΊΠΎΠ΄Π°.

ИмСна

ΠšΠ΅Π½Π΄Ρ€ΠΈΠΊ Π›Π°ΠΌΠ°Ρ€ ΠΊΠ°ΠΊ-Ρ‚ΠΎ сказал: «Если я ΡΠΎΠ±Π΅Ρ€ΡƒΡΡŒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, я Π½Π°Ρ‡Π½Ρƒ Π΅Ρ‘ с ΠΌΠΎΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈΒ».

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

Имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Π΄Π°Ρ‘Ρ‚Π΅ сущности, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Π΅Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. Π’Ρ‹Π±ΠΎΡ€ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΈΠΌΡ‘Π½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½ΠΎ позволяСт ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° страсти Π½Π°ΠΊΠ°Π»ΡΡŽΡ‚ΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ удСляйтС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°ΠΌ, Π° Ссли Π²Π°ΠΌ удаётся Π½Π°ΠΉΡ‚ΠΈ имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ справляСтся с Π²ΠΎΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π° Π½Π΅Π³ΠΎ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ β€” Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΈΠΌ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅. Π›ΡŽΠ±ΠΎΠΉ, ΠΊΡ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ваш ΠΊΠΎΠ΄, Π±ΡƒΠ΄Π΅Ρ‚ Π²Π°ΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π·Π° вашС Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ.

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

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

Одна функция β€” ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π°

Луис Π‘Π°Π»Π»ΠΈΠ²Π°Π½ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ сказал Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‰ΡŒ: Β«Π€ΠΎΡ€ΠΌΠ° слСдуСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ».

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

Π•ΡΡ‚ΡŒ всСго Π΄Π²Π° ΠΏΡ€Π°Π²ΠΈΠ»Π° написания чистых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ:

  • Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ малСнькими.
  • Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ лишь ΠΎΠ΄Π½Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ.

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

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

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

Код ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Π’ΠΎΡ‚ интСрСсноС наблюдСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сдСлала Винус Уильямс: «ВсС Π΄Π΅Π»Π°ΡŽΡ‚ собствСнныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π’Π°ΠΊ Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ слухи».

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

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС β€” это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π·Π»ΠΎ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Они Π½Π΅ всСгда β€” Π·Π»ΠΎ, Π½ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв это Ρ‚Π°ΠΊ. Π§Π΅ΠΌ ΡΡ‚Π°Ρ€ΡˆΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” Ρ‚Π΅ΠΌ слоТнСС становится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ состоянии. МногиС программисты запятнали свою Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ†ΠΈΡŽ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π² Ρ…ΠΎΠ΄Π΅ развития ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², пСрСстали ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠ΄ΠΎΠΌ.

Код мСняСтся ΠΈ развиваСтся. Π‘Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ. А ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ β€” ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

ВсСгда ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ чистый ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΈ слоТного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ имССтся мноТСство пояснСний. НС Ρ‚Ρ€Π°Ρ‚ΡŒΡ‚Π΅ врСмя Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ созданный Π²Π°ΠΌΠΈ бСспорядок, Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠ΄Π΅Π»ΠΈΡ‚Π΅ врСмя навСдСнию порядка Π² ΠΊΠΎΠ΄Π΅.

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ форматирования

Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΌΠ΅Ρ‚ΠΈΠ»: Β«Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ являСтся ΠΏΠ΅Ρ€Π²ΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Β».

Полагаю, нСльзя Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ эту идСю. Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° β€” это ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… характСристик ΠΏΠΎ-настоящСму Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ программирования.

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

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

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

Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ΡΡŒ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ тСксты Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŽ ΠΈ аккуратности, ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ β€” ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠ΄Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ удСляйтС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приняты Π² вашСй ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π‘Π½Π°Ρ‡Π°Π»Π° β€” try-catch-finally, ΠΏΠΎΡ‚ΠΎΠΌ β€” всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅

Π–ΠΎΡ€ΠΆ КангилСм сдСлал Π²Π΅Ρ€Π½ΠΎΠ΅ наблюдСниС, ΠΊΠΎΠ³Π΄Π° сказал: Β«Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ свойствСнно ΠΎΡˆΠΈΠ±Π°Ρ‚ΡŒΡΡ, ΡƒΠΏΠΎΡ€ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ошибкС β€” Π΄Π΅Π»ΠΎ дьявола».

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

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

Один ΠΈΠ· способов качСствСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании Π±Π»ΠΎΠΊΠΎΠ² try-catch-finally. Π’ Π½ΠΈΡ… Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ сбойныС мСста, ΠΈ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок. Π­Ρ‚ΠΈ Π±Π»ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС ΠΊΠ°ΠΊ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… областСй видимости Π² ΠΊΠΎΠ΄Π΅. Когда ΠΊΠΎΠ΄ выполняСтся Π² Π±Π»ΠΎΠΊΠ΅ try, это ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ΄, Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒΡΡ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒΡΡ Π² Π±Π»ΠΎΠΊΠ΅ catch.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈ try-catch-finally Π² самом Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π­Ρ‚ΠΎ, Π² частности, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Π΅Π³ΠΎ ΠΎΡ‚ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΏΡ€ΠΈ этом Π½Π΅Π²Π°ΠΆΠ½ΠΎ, выполнится Π»ΠΈ ΠΊΠΎΠ΄ Π±Π΅Π· ошибки, ΠΈΠ»ΠΈ Π²ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΌ Π² Π±Π»ΠΎΠΊ try, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ сбой.

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

Π˜Ρ‚ΠΎΠ³ΠΈ

Как Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ, Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π² Π΄Π²ΡƒΡ… словах, всё Ρ‚ΠΎ, ΠΎ Ρ‡Ρ‘ΠΌ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ? ΠžΡ‚Π²Π΅Ρ‚ Π½Π° это вопрос β€” Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «чувство ΠΊΠΎΠ΄Π°Β». Π­Ρ‚ΠΎ, Π² ΠΌΠΈΡ€Π΅ программирования, эквивалСнт Π·Π΄Ρ€Π°Π²ΠΎΠ³ΠΎ смысла.

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎΠ± этом Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½: Β«Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ мноТСство ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ², Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Ρ‘Π½Π½Ρ‹ΠΌ усСрдным Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ чувством «чистоты». ΠšΠ»ΡŽΡ‡Π΅Π²ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ здСсь ΠΈΠ³Ρ€Π°Π΅Ρ‚ чувство ΠΊΠΎΠ΄Π°. Одни с этим чувством Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π­Ρ‚ΠΎ чувство Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ позволяСт ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ, Π½ΠΎ ΠΈ дСмонстрируСт ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ примСнСния Π½Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² для прСобразования ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² чистый ΠΊΠΎΠ΄Β». По ΠΌΠ½Π΅ β€” Ρ‚Π°ΠΊ это Π·ΠΎΠ»ΠΎΡ‚Ρ‹Π΅ слова.

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, ΠΏΠΈΡˆΡƒΡ‰ΠΈΠΉ чистый ΠΊΠΎΠ΄ β€” это Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊ. Он способСн ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ пустой экран Π² элСгантноС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ искусства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π΄ΠΎΠ»Π³ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹.

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ нашСго Ρ€Π°Π·Π³ΠΎΠ²ΠΎΡ€Π° ΠΎ чистом ΠΊΠΎΠ΄Π΅ вспомним слова Π“Π°Ρ€ΠΎΠ»ΡŒΠ΄Π° АбСльсона: Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Ρ‡ΠΈΡ‚Π°Π»ΠΈ люди, ΠΈ лишь Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ β€” для выполнСния машиной».

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! КакиС ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ качСства собствСнного ΠΊΠΎΠ΄Π°?

Книги ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ / Π‘Π»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π΄ΠΎΠΌ Β«ΠŸΠΈΡ‚Π΅Ρ€Β» / Π₯Π°Π±Ρ€

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»ΠΈ!
Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠŸΠΈΡ‚Π΅Ρ€ Ρ€Π΅ΡˆΠΈΠ»ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ…, Π½ΠΎ Π·Π°Π±Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ½ΠΈΠ³Π°Ρ… ΠΏΠΎ чистому ΠΊΠΎΠ΄Ρƒ:

1. Чистый ΠΊΠΎΠ΄: созданиС, Π°Π½Π°Π»ΠΈΠ· ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста β€” Π . ΠœΠ°Ρ€Ρ‚ΠΈΠ½

2. Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ β€” Π­. ΠžΡ€Π°ΠΌ, Π“. Уилсон

3. Π§ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ искусство β€” Π”. Босуэлл, Π’. Π€Π°ΡƒΡ‡Π΅Ρ€

Чистый ΠΊΠΎΠ΄: созданиС, Π°Π½Π°Π»ΠΈΠ· ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста


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

Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄


Аннотация: Π² этой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ самыС Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния дСлятся ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ вставали ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… IT-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого издания Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° мСстС Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… программистов, ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ собствСнными Π³Π»Π°Π·Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, возникавшиС ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΈ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΈΡ… прСодолСния. АвторскиС ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π½Ρ‹ Π“Ρ€Π΅Π³ΠΎΠΌ Уилсоном, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΆΡƒΡ€Π½Π°Π»Π° Β«Dr. Dobb’s JournalΒ», ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· самых Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Ρ… IT-ΠΈΠ·Π΄Π°Π½ΠΈΠΉ Π² ΠΌΠΈΡ€Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° O’Reilly Π­Π½Π΄ΠΈ ΠžΡ€Π°ΠΌΠΎΠΌ. Один лишь Ρ‚ΠΎΠ»ΡŒΠΊΠΎ список Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² Π΄Π΅Π»Π°Π΅Ρ‚ эту ΠΊΠ½ΠΈΠ³Ρƒ настоящим бСстсСллСром β€” здСсь Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹, написанныС Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ·Π½Π°Π½Π½Ρ‹ΠΌΠΈ профСссионалами, ΠΊΠ°ΠΊ Π§Π°Ρ€Π»ΡŒΠ· ΠŸΠ΅Ρ‚Ρ†ΠΎΠ»ΡŒΠ΄, Π”ΠΆΠΎΠ½ Π‘Π΅Π½Ρ‚Π»ΠΈ, Π’ΠΈΠΌ Брэй, Π‘Ρ€Π°ΠΉΠ°Π½ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½, ΠΈ Π΅Ρ‰Π΅ Ρ‚Ρ€ΠΈΠ΄Ρ†Π°Ρ‚ΡŒΡŽ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ экспСртами Π² области Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

Π§ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ искусство


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

Для Π₯Π°Π±Ρ€ΠΎΠΆΠΈΡ‚Π΅Π»Π΅ΠΉ скидка 20% Π½Π° всю ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ «Чистый ΠΊΠΎΠ΄Β» β€” 87bdd2ae6c884881

Π ΠΎΠ±Π΅Ρ€Ρ‚ К. ΠœΠ°Ρ€Ρ‚ΠΈΠ½: «Руководство ΠΏΠΎ Π³ΠΈΠ±ΠΊΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния»

Π”Π°ΠΆΠ΅ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Но Ссли ΠΊΠΎΠ΄ Π½Π΅ чист, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ компанию-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° ΠΊΠΎΠ»Π΅Π½ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π³ΠΎΠ΄ ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ…ΠΎ написанного ΠΊΠΎΠ΄Π° тСряСтся бСсчислСнноС количСство часов ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы. Но Ρ‚Π°ΠΊ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.
Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΉ экспСрт ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Π ΠΎΠ±Π΅Ρ€Ρ‚ Π‘. ΠœΠ°Ρ€Ρ‚ΠΈΠ½ прСдставляСт Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ с Clean Code: A Handbook of Agile Software Craftsmanship . ΠœΠ°Ρ€Ρ‚ΠΈΠ½ объСдинился со своими ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈΠ· Object Mentor, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΈΡ… Π»ΡƒΡ‡ΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΡƒΡŽ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ очистки ΠΊΠΎΠ΄Π° Π½Π° Π»Π΅Ρ‚Ρƒ Π² ΠΊΠ½ΠΈΠ³Ρƒ, которая ΠΏΡ€ΠΈΠ²ΠΈΡ‚ Π²Π°ΠΌ цСнности мастСра ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ сдСлаСт вас Π»ΡƒΡ‡ΡˆΠΈΠΌ программистом, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ Π½Π°Π΄ этим Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.
ΠšΠ°ΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ? Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. И Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² этом ΠΊΠΎΠ΄Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π° Ρ‡Ρ‚ΠΎ — Π½Π΅Ρ‚. Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ свои ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ цСнности ΠΈ ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ своСму Π΄Π΅Π»Ρƒ.
Чистый ΠΊΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° Ρ‚Ρ€ΠΈ части. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ описываСт ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ написания чистого ΠΊΠΎΠ΄Π°. Вторая Ρ‡Π°ΡΡ‚ΡŒ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… тСматичСских исслСдований Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΉ слоТности.КаТдоС тСматичСскоС исслСдованиС — это ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎ очисткС ΠΊΠΎΠ΄Π° для прСобразования Π±Π°Π·Ρ‹ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π² Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ. Π’Ρ€Π΅Ρ‚ΡŒΡ Ρ‡Π°ΡΡ‚ΡŒ — Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: ΠΎΠ΄Π½Π° Π³Π»Π°Π²Π°, содСрТащая список эвристик ΠΈ Π·Π°ΠΏΠ°Ρ…ΠΎΠ², собранных ΠΏΡ€ΠΈ создании тСматичСских исслСдований. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ, которая описываСт Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° пишСм, Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈ ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌ ΠΊΠΎΠ΄.
Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ ΡƒΠΉΠ΄ΡƒΡ‚ ΠΎΡ‚ этой ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΏΠΎΠΉΠΌΡƒΡ‚

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

.

A Handbook of Agile Software Craftsmanship [Книга]

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

Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹ΠΉ экспСрт ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Π ΠΎΠ±Π΅Ρ€Ρ‚ К. ΠœΠ°Ρ€Ρ‚ΠΈΠ½ прСдставляСт Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ с Чистый ΠΊΠΎΠ΄: Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ Π³ΠΈΠ±ΠΊΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния . ΠœΠ°Ρ€Ρ‚ΠΈΠ½ объСдинился со своими ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈΠ· Object Mentor, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… Π»ΡƒΡ‡ΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΡƒΡŽ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ очистки ΠΊΠΎΠ΄Π° Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ» Π² ΠΊΠ½ΠΈΠ³Ρƒ, которая ΠΏΡ€ΠΈΠ²ΠΈΡ‚ Π²Π°ΠΌ цСнности мастСра ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ сдСлаСт вас Π»ΡƒΡ‡ΡˆΠΈΠΌ программистом — Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ.

ΠšΠ°ΠΊΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ? Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ — ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. И Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² этом ΠΊΠΎΠ΄Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π° Ρ‡Ρ‚ΠΎ — Π½Π΅Ρ‚. Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ свои ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ цСнности ΠΈ ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ своСму Π΄Π΅Π»Ρƒ.

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

Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ ΡƒΠΉΠ΄ΡƒΡ‚ ΠΎΡ‚ этой ΠΊΠ½ΠΈΠ³ΠΈ с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ

  • Как ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ
  • Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ Π² Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ
  • Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ классы
  • Как ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для максимальной читаСмости
  • Как Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок, Π½Π΅ скрывая Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΊΠΎΠ΄Π°
  • Как ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· тСстированиС

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

.

Π‘Π»ΠΎΠ³ чистого ΠΊΠΎΠ΄Π΅Ρ€Π°

Π‘Π»ΠΎΠ³ чистого ΠΊΠΎΠ΄Π°

Π ΠΎΠ±Π΅Ρ€Ρ‚ К. ΠœΠ°Ρ€Ρ‚ΠΈΠ½ (дядя Π‘ΠΎΠ±)

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ!

Π°Ρ‚ΠΎΠΌ / RSS-ΠΊΠ°Π½Π°Π»


  • ΠŸΠ΅Ρ‚Π»Π΅Π²ΠΎΠΉ

    30.09.2020

  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ

    23.09.2020

  • ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ

    09-12-2020

  • Π”ΠΈΠ·Π°ΠΉΠ½, управляСмый REPL

    27.05.2020

  • Π•Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Clojure

    09.04.2020

  • НСмного Clojure

    06.04.2020

  • Новая Π½Π°Π΄Π΅ΠΆΠ΄Π°

    04-05-2020

  • ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ письмо Linux Foundation

    08.11.2019

  • Π§Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΡƒΠΌΠ°Π»ΠΈ ΠΎ программистах.

    11-03-2019

  • ΠšΡ€ΠΎΠ²ΠΎΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅

    31.10.2019

  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ Clojure?

    22.08.2019

  • ΠŸΠΎΡ‡Π΅ΠΌΡƒ это Π½Π΅ …

    22.07.2019

  • ΠšΠ»Π°ΡΡΡ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² структур Π΄Π°Π½Π½Ρ‹Ρ…

    16.06.2019

  • Π’ΠΈΠΏΡ‹ ΠΈ тСсты

    08.06.2019

  • 737 Макс 8

    18.05.2019

  • FP vs.ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° списков OO

    17.12.2018

  • ΠœΡ‹, Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½Ρ‹Π΅

    16.12.2018

  • SJWJS

    14.12.2018

  • ВрагСдия мастСрства.

    28.08.2018

  • Блишком чисто?

    13.08.2018

  • Π¦Π΅Π»Ρ‹Π΅ числа ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ

    21.06.2018

  • ΠœΠ°Ρ€ΠΈΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ΅ состояниС

    06-06-2018

  • РСмСслСнник, ΠœΠ°ΡΡ‚Π΅Ρ€ΠΈΡ†Π°, РСмСслСнница

    05-02-2018

  • FP vs.OO

    13.04.2018

  • Π’ большом

    04-02-2018

  • ΠœΡ‹, программисты

    29.03.2018

  • Дядя Π‘ΠΎΠ± ΠžΠ±Π»Π΅Ρ‚.
    Π£ мСня для тСбя сдСлка!

    25.02.2018

  • АргумСнт ΠΎ граТданствС

    18.01.2018

  • Π Π°Π±ΠΎΡ‚Π° Π·Π° ΠΊΡ€ΠΈΠ²ΠΎΠΉ мощности

    15.01.2018

  • ΠžΠΏΡ€Π°Π²Π΄Π°Π½ΠΈΡ

    18.12.2017

  • Dbtails

    12-09-2017

  • Π‘Ρ‚ΠΎΠ»Ρ‹ Π‘ΠΎΠ±Π±ΠΈ

    12-03-2017

  • Π–ΠΈΠ·Π½ΡŒ Π½Π° ΠΏΠ»Π°Ρ‚ΠΎ

    18-11-2017

  • Π–Π΅Π½Ρ‰ΠΈΠ½Ρ‹ Π² спросС

    10-04-2017

  • Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ — Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‚

    10-04-2017

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° противорСчивости

    10-03-2017

  • БСспринципный ΠΌΠ΅ΠΌ

    29.09.2017

  • Π‘ΡŒΠ΅Ρ€Ρ€Π° Π”ΠΆΡƒΠ»ΡŒΠ΅Ρ‚Ρ‚Π° Ѐокстрот

    26.09.2017

  • ΠŸΡ€ΠΎΡΡ‚ΠΎ слСдуя Π·Π°ΠΊΠ°Π·Π°ΠΌ

    28.08.2017

  • Π–Π΅Π½Ρ‰ΠΈΠ½Ρ‹ Π² тСхнологиях

    14.08.2017

  • Об ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ способности Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ

    08-10-2017

  • ΠŸΠΎΠ»ΠΈΡ†ΠΈΡ мыслСй

    08-09-2017

  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΌΠΎΠ·Π³ΠΎΠΌ

    28.07.2017

  • ΠžΡ‚Π²Π΅Π·ΠΈ мСня Π² Π’ΠΎΡ€ΠΎΠ½Ρ‚ΠΎ, Π₯эл.

    24.07.2017

  • ΠŸΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

    07-11-2017

  • ΠŸΠ΅Ρ€Π²ΠΎΠΊΠ»Π°ΡΡΠ½Ρ‹Π΅ тСсты.

    05-05-2017

  • Π”ΠΎΠΊΡ‚ΠΎΡ€ Кэлвин Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅?

    16.03.2017

  • ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ симмСтрии

    07.03.2017

  • ВСстированиС ΠΊΠ°ΠΊ TSA

    06.03.2017

  • АрхитСктура TDD Harms

    03-03-2017

  • НСобходимыС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

    -23-2017

  • Π’ΠΈΠΏΡ‹ ΠΈ тСсты

    13.01.2017

  • Π’Π΅ΠΌΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ

    11.01.2017

  • Π£Ρ€ΠΎΠΊ TDD — ГСнСрация Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π°

    09.01.2017

  • TDD Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

    11-10-2016

  • Алгоритм ДСйкстры

    26.10.2016

  • Lurn

    01.09.2016

  • Маслобойка

    27.07.2016

  • ΠœΡƒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ тСстированиС

    06-10-2016

  • Π‘ΠΈΠ½ΠΈΠΉ.НСт! Π–Π΅Π»Ρ‚Ρ‹ΠΉ!

    21.05.2016

  • Π’ΠΈΠΏ Π²ΠΎΠΉΠ½Ρ‹

    05-01-2016

  • ΠžΡ‚ΠΊΠ°Π· ΠΎΡ‚ TDD

    19.03.2016

  • Manhandled

    15.01.2016

  • Π€Π°Π·Ρ‹ стабилизации

    14.01.2016

  • НСмного Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹

    04.01.2016

  • ΠŸΡ€Π΅Π»ΡŽΠ΄ΠΈΡ ΠΊ профСссии

    27.11.2015

  • ΠšΠ»ΡΡ‚Π²Π° программиста

    18-11-2015

  • Π‘ΠΈΠ»Π° плоскогубцСв

    11-01-2015

  • На Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅

    30.10.2015

  • Agile — это Π½Π΅ сСйчас ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΎ Π²ΠΎΠ΄ΠΎΠΏΠ°Π΄ΠΎΠΌ.

    16.10.2015

  • VW

    14.10.2015

  • WATS Line 54

    10-05-2015

  • МалСнькая структура

    23.09.2015

  • Π‘Π΄Π΅Π»Π°ΠΉ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ магия ΡƒΡˆΠ»Π°.

    08-06-2015

  • Π’Ρ‹ΠΊΡ€ΠΎΠΉΠΊΠΈ

    07-05-2015

  • МалСнький синглтон

    07-01-2015

  • ΠŸΠ΅Ρ€Π²Π°Ρ микросСрвисная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°

    28.05.2015

  • Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ слои

    27.04.2015

  • Π˜ΠΌΠ΅Π΅Ρ‚ Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ организация?

    15.04.2015

  • Π˜ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ² MODE-B

    -21-2015

  • Они Π½Π°Π·Π²Π°Π»ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ.

    19.02.2015

  • «Π˜Π½Ρ‚СрфСйс» считаСтся Π²Ρ€Π΅Π΄Π½Ρ‹ΠΌ

    08.01.2015

  • Π¦ΠΈΠΊΠ»Ρ‹ TDD

    17.12.2014

  • OO ΠΏΡ€ΠΎΡ‚ΠΈΠ² FP

    24.11.2014

  • Π¨ΠΈΠΏΡ‹ Π²ΠΎΠΊΡ€ΡƒΠ³ Π·ΠΎΠ»ΠΎΡ‚Π°

    19.11.2014

  • ΠžΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ программиста.

    15-11-2014

  • Один ΠΏΡƒΡ‚ΡŒ Ρ…Π°ΠΊΠ΅Ρ€Π°!

    11-12-2014

  • Π‘ΠΌΠ΅Ρ… Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Π΅, Π³Π΄Π΅ ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΠΌΡƒΠΆΡ‡ΠΈΠ½Ρ‹.

    26.10.2014

  • Π“ΠžΠœΠ›-1, Адаптивный Π΄ΠΈΠ·Π°ΠΉΠ½

    10-08-2014

  • Чистая микросСрвисная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°

    10-01-2014

  • ΠœΠΈΠΊΡ€ΠΎΡΠ΅Ρ€Π²ΠΈΡΡ‹ ΠΈ Π±Π°Π½ΠΊΠΈ

    19.09.2014

  • Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π²Π΅Ρ‰Π΅ΠΉ мСняСтся …

    18.09.2014

  • ВрСмя тСстирования

    03.09.2014

  • НСмного ΠΎ Π²Ρ‹ΠΊΡ€ΠΎΠΉΠΊΠ°Ρ….

    30.06.2014

  • Моя Π»ΡƒΠΆΠ°ΠΉΠΊΠ°

    20.06.2014

  • TDD ΠΌΠ΅Ρ€Ρ‚Π²?
    ПослСдниС мысли ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ….

    17.06.2014

  • ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ

    19.05.2014

  • МалСнький ΠΏΠ΅Ρ€Π΅ΡΠΌΠ΅ΡˆΠ½ΠΈΠΊ

    14.05.2014

  • ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ открытости ΠΈ закрытости

    12.05.2014

  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°ΠΌΠΎΠΊ [2]

    11.05.2014

  • Когда ΠΈΠ·Π΄Π΅Π²Π°Ρ‚ΡŒΡΡ

    05-10-2014

  • ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅Π΄ΠΈΠ½ΠΎΠΉ отвСтствСнности

    08.05.2014

  • ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΌ ΠΈ TDD (Reprise)

    05-02-2014

  • ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ конструкции, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠ΅ испытаниСм?

    05-01-2014

  • Когда TDD Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

    30.04.2014

  • ΠœΠΎΠ½ΠΎΠ³Π°ΠΌΠ½Ρ‹ΠΉ TDD

    25.04.2014

  • Π₯Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΠΈ ΠΊΠΎΠ΄Π°

    04-03-2014

  • Π˜ΡΡ‚ΠΈΠ½Π° ΠšΠΎΡ€Ρ€ΡƒΠΏΡ†ΠΈΡ Agile

    28.03.2014

  • Когда слСдуСт ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ?

    11.03.2014

  • Π‘ΠΏΠ΅ΠΊΡ‚Ρ€ довСрия

    27.02.2014

  • О, Π±Ρ€ΠΈΠ³Π°Π΄ΠΈΡ€, Π³Π΄Π΅ Ρ‚Ρ‹?

    -23-2014

  • Π“Π΄Π΅ Π±Ρ€ΠΈΠ³Π°Π΄ΠΈΡ€?

    21.02.2014

  • ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Π°

    27.01.2014

  • ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Clink (9)

    20.01.2014

  • Π­ΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

    12-10-2013

  • Новички.Кода

    25.11.2013

  • ΠžΡ€Π΄Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²

    19.11.2013

  • Healthcare.gov

    11-12-2013

  • БСспСчныС

    24.10.2013

  • Π’Π°Π½Ρ†ΡƒΠΉΡ‚Π΅ Π²Ρ‹, бСсы!

    10-01-2013

  • Π’. ΠŸΠžΠ’Π•Π ΠŸΠ•Π’Π¬ НЕУДАЧУ!

    26.09.2013

  • Π‘Π½Π°Ρ‡Π°Π»Π° тСст

    23.09.2013

.

ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π ΠΎΠ±Π΅Ρ€Ρ‚ Π‘. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ чистого ΠΊΠΎΠ΄Π° [PDF]

Pearson Education, Inc, 2012. — 703 с. — ISBN 10 978-0-13-292847-2, ISBN 13 0-13-292847-7. ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ чистых ΠΊΠΎΠ΄ΠΎΠ² Π ΠΎΠ±Π΅Ρ€Ρ‚Π° К. ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° состоит ΠΈΠ· Π΄Π²ΡƒΡ… бСстсСллСров:
Чистый ΠΊΠΎΠ΄: руководство ΠΏΠΎ Π³ΠΈΠ±ΠΊΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния
Чистый ΠΊΠΎΠ΄ ΠšΠΎΠ΄Π΅Ρ€: КодСкс повСдСния для ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… программистов
Π’ «Чистом ΠΊΠΎΠ΄Π΅Β» Π»Π΅Π³Π΅Π½Π΄Π°Ρ€Π½Ρ‹ΠΉ экспСрт ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Π ΠΎΠ±Π΅Ρ€Ρ‚ К. ΠœΠ°Ρ€Ρ‚ΠΈΠ½ объСдинился со своими ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ ΠΈΠ· Object Mentor, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π»ΠΎΠΆΠΈΡ‚ΡŒ свои Π»ΡƒΡ‡ΡˆΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ очистки ΠΊΠΎΠ΄Π° Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ» Π² ΠΊΠ½ΠΈΠ³Π΅, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ вас цСнности мастСра ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ вас Π»ΡƒΡ‡ΡˆΠΈΠΌ программистом — Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ Π½Π°Π΄ этим Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅.Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² этом ΠΊΠΎΠ΄Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π° Ρ‡Ρ‚ΠΎ — Π½Π΅Ρ‚. Π§Ρ‚ΠΎ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ свои ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ цСнности ΠΈ ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ своСму Π΄Π΅Π»Ρƒ.
Π’ ΠΊΠ½ΠΈΠ³Π΅ «Чистый ΠΊΠΎΠ΄Π΅Ρ€Β» ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ с дисциплинами, ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, инструмСнтами ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈ настоящСго мастСрства Π² области ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° Π½Π°ΠΏΠΎΠ»Π½Π΅Π½Π° практичСскими совСтами ΠΎΠ±ΠΎ всСм, ΠΎΡ‚ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ программирования Π΄ΠΎ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ тСстирования. Он ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС, Ρ‡Π΅ΠΌ просто Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ: Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ.ΠœΠ°Ρ€Ρ‚ΠΈΠ½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с Ρ‡Π΅ΡΡ‚ΡŒΡŽ, самоуваТСниСм ΠΈ Π³ΠΎΡ€Π΄ΠΎΡΡ‚ΡŒΡŽ; Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ чисто; чСстно ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ ΠΈ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ; чСстно ΠΈ ясно ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ; ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠ΅ знания связаны с ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.
Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ этого сборника ΡƒΠΉΠ΄ΡƒΡ‚ с ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ
Как ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ
Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ Π² Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ
Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ классы
Как Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для максимальной читаСмости
Как Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок, Π½Π΅ скрывая Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΊΠΎΠ΄Π°
Как ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· тСстированиС
Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ вСсти сСбя ΠΊΠ°ΠΊ настоящий мастСр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния
Как Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Π½Π΅Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹
Как ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² ΠΏΠΎΡ‚ΠΎΠΊ кодирования ΠΈ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ‚ΡƒΠΏΠΈΠΊ
Как ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с бСзТалостным Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ выгорания
Как ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ стойкоС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌ развития
Как ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ своим Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚ΡƒΠΏΠΈΠΊΠΎΠ² ΠΈ Π±ΠΎΠ»ΠΎΡ‚ , Π±ΠΎΠ»ΠΎΡ‚Π° ΠΈ Π±ΠΎΠ»ΠΎΡ‚Π°
Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ срСду, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ программисты ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΡ†Π²Π΅Ρ‚Π°Ρ‚ΡŒ
Когда Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ «НСт» ΠΈ ΠΊΠ°ΠΊ это Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Когда Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Β«YΒ» es «β€“ΠΈ Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚Β« Π΄Π° Β»..

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

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