чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ

Π§ΠΈΡ‚Π°Ρ‚ΡŒ β€œΠ§ΠΈΡΡ‚Ρ‹ΠΉ ΠΊΠΎΠ΄. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· ΠΈ рСфакторинг”

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста 2019

Β© ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π½Π° русский язык ООО Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Β«ΠŸΠΈΡ‚Π΅Ρ€Β», 2018

Β© ИзданиС Π½Π° русском языкС, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ООО Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Β«ΠŸΠΈΡ‚Π΅Ρ€Β», 2019
* * *

ΠŸΠΎΡΠ²ΡΡ‰Π°Π΅Ρ‚ΡΡ АннС-ΠœΠ°Ρ€ΠΈΠΈ β€” бСссмСртной любви всСй ΠΌΠΎΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅

Π’ Π”Π°Π½ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ популярны Π»Π΅Π΄Π΅Π½Ρ†Ρ‹ Ga-Jol. Π˜Ρ… ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π»Π°ΠΊΡ€ΠΈΡ‡Π½Ρ‹ΠΉ вкус ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΡΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π½Π°ΡˆΡƒ ΡΡ‹Ρ€ΡƒΡŽ ΠΈ часто Ρ…ΠΎΠ»ΠΎΠ΄Π½ΡƒΡŽ ΠΏΠΎΠ³ΠΎΠ΄Ρƒ. Однако нас, Π΄Π°Ρ‚Ρ‡Π°Π½, Π»Π΅Π΄Π΅Π½Ρ†Ρ‹ Ga-Jol ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°ΡŽΡ‚ Π΅Ρ‰Π΅ ΠΈ ΠΌΡƒΠ΄Ρ€Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ остроумными высказываниями, Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° ΠΊΡ€Ρ‹ΡˆΠΊΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. БСгодня ΡƒΡ‚Ρ€ΠΎΠΌ я ΠΊΡƒΠΏΠΈΠ» Π΄Π²Π΅ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π»Π΅Π΄Π΅Π½Ρ†ΠΎΠ² ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Π½Π° Π½ΠΈΡ… ΡΡ‚Π°Ρ€ΡƒΡŽ Π΄Π°Ρ‚ΡΠΊΡƒΡŽ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΡƒ:

Γ†rlighed i smΓ₯ ting er ikke nogen lille ting.

Β«Π§Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π² ΠΌΠ΅Π»ΠΎΡ‡Π°Ρ… β€” вовсС Π½Π΅ ΠΌΠ΅Π»ΠΎΡ‡ΡŒΒ». Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€Π΅Π΄Π·Π½Π°ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствовало Ρ‚ΠΎΠΌΡƒ, ΠΎ Ρ‡Π΅ΠΌ я собирался Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² прСдисловии. ΠœΠ΅Π»ΠΎΡ‡ΠΈ Π²Π°ΠΆΠ½Ρ‹. Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° посвящСна Π²Π΅Ρ‰Π°ΠΌ простым, Π½ΠΎ вовсС Π½Π΅ ΠΌΠ°Π»ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

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

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

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

Но Π΄Π°ΠΆΠ΅ Π² автостроСнии основная Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ связана Π½Π΅ с производством, Π° с сопровоТдСниСм ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² β€” ΠΈΠ»ΠΈ Π΅Π³ΠΎ отсутствиСм. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ 80% ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ, Ρ‚ΠΎΠΆΠ΅ изящно называСтся «сопровоТдСниСм». На самом Π΄Π΅Π»Π΅ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΏΠΎΡ‡ΠΈΠ½ΠΊΠ΅. Наша Ρ€Π°Π±ΠΎΡ‚Π° Π±Π»ΠΈΠΆΠ΅ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… мастСров Π² ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ отрасли ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΎΠ² Π² области автостроСния. Π§Ρ‚ΠΎ японская тСория управлСния Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΏΠΎ этому ΠΏΠΎΠ²ΠΎΠ΄Ρƒ?

Π’ 1951 Π³ΠΎΠ΄Ρƒ Π² японской ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ появилась мСтодология ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ качСства, Π½Π°Π·Ρ‹Π²Π°Π²ΡˆΠ°ΡΡΡ TPM (Total Productive Maintenance). Она Π±Ρ‹Π»Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π½Π° сопровоТдСниС, Π° Π½Π΅ Π½Π° производство. Π”ΠΎΠΊΡ‚Ρ€ΠΈΠ½Π° TPM Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Β«ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… 5SΒ». Π’ сущности, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ 5S ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π°Π±ΠΎΡ€ ТитСйских ΠΏΡ€Π°Π²ΠΈΠ». ΠšΡΡ‚Π°Ρ‚ΠΈ говоря, ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² основу ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Lean β€” Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π½ΠΎΠ³ΠΎ тСчСния Π½Π° Π·Π°ΠΏΠ°Π΄Π½ΠΎΠΉ сцСнС, Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΡ€ΡƒΠ³Π°Ρ…. Как ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π”ΡΠ΄ΡŽΡˆΠΊΠ° Π‘ΠΎΠ± Π² своСм Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ, Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° программирования Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… качСств, ΠΊΠ°ΠΊ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ, присутствиС Π΄ΡƒΡ…Π° ΠΈ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ всСгда Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ простым дСйствиСм, максимальной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ оборудования для производства Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ‚Π΅ΠΌΠΏΠ΅. Ѐилософия 5S состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ:

β€’ Бэйри, ΠΈΠ»ΠΈ организация. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ Ρ‡Ρ‚ΠΎ находится β€” ΠΈ Π² этом ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠ°ΠΊ Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠΌΠ΅Π½. Π”ΡƒΠΌΠ°Π΅Ρ‚Π΅, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠΌΠ΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π΅Π²Π°ΠΆΠ΅Π½? ΠŸΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π³Π»Π°Π²Ρ‹.

β€’ Бэйтон, ΠΈΠ»ΠΈ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ. Бтарая амСриканская ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΊΠ° гласит: всСму своС мСсто, ΠΈ всС оказываСтся Π½Π° своих мСстах. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠ΄Π° ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π°ΠΉΡ‚ΠΈ, β€” Π° Ссли ΠΎΠ½ находится Π³Π΄Π΅-Ρ‚ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС, ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ свой ΠΊΠΎΠ΄ ΠΈ размСститС Π΅Π³ΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π΅ΠΌΡƒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ Π±Ρ‹Ρ‚ΡŒ.

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

β€’ Бэйкэцу, ΠΈΠ»ΠΈ стандартизация: Π³Ρ€ΡƒΠΏΠΏΠ° достигаСт согласия ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ чистоту Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ мСстС. Π§Ρ‚ΠΎ Π² этой ΠΊΠ½ΠΈΠ³Π΅ сказано ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ стиля кодирования ΠΈ Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ» Π² Π³Ρ€ΡƒΠΏΠΏΠ°Ρ…? ΠžΡ‚ΠΊΡƒΠ΄Π° бСрутся эти стандарты? ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ β€” ΡƒΠ·Π½Π°Π΅Ρ‚Π΅.

β€’ Π‘ΡŽΡ†ΡƒΠΊΡ, ΠΈΠ»ΠΈ дисциплина. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ достаточно дисциплинированным, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ часто Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΡ‚ΡŒ ΠΎ своСй Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ измСнСниям.

Если Π²Ρ‹ Π½Π΅ ΠΏΠΎΠΆΠ°Π»Π΅Π΅Ρ‚Π΅ усилий β€” Π΄Π°, усилий! β€” Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ, Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ послСдний ΠΏΡƒΠ½ΠΊΡ‚. ΠœΡ‹ Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ подошли ΠΊ корням отвСтствСнного профСссионализма Π² профСссии, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π’ Ρ…ΠΎΠ΄Π΅ сопровоТдСния Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… машин ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ TPM, Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ Ρ€Π΅ΠΌΠΎΠ½Ρ‚ (Π°Π½Π°Π»ΠΎΠ³ проявлСния ошибок) являСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. ВмСсто этого ΠΌΡ‹ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ осматриваСм ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ замСняСм ΠΈΠ·Π½Π°ΡˆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ части Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ, ΠΈΠ»ΠΈ выполняСм Π°Π½Π°Π»ΠΎΠ³ΠΈ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚ΠΎΠΉ «смСны масла ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 10 000 миль» для прСдотвращСния износа. БСзТалостно ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ свой ΠΊΠΎΠ΄. А Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считался новаторским Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ TPM Π±ΠΎΠ»Π΅Π΅ 50 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄: ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° удобство сопровоТдСния. Π’Π°Ρˆ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Чистый ΠΊΠΎΠ΄. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ (fb2)

чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ

[url=https://coollib.net/b/486351]
[b]Чистый ΠΊΠΎΠ΄. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ (fb2)[/b]
[img]https://coollib.net/i/51/486351/cover.jpg[/img][/url]

QR-ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³ΠΈ
чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ

Аннотация

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π²Π΅Ρ€ΡΡ‚Π°Π»ΡŒΡ‰ΠΈΠΊΠ°: ΠΊΠ½ΠΈΠ³Π° содСрТит большой объСм исходников (code), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ рСкомСндуСтся ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ скрипты Β«Π“Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½Π°Ρ ΡƒΠ±ΠΎΡ€ΠΊΠ°Β», Β«ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊΒ» ΠΈ Ρ‚. Π΄.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

«Чистый ΠΊΠΎΠ΄Β» Π ΠΎΠ±Π΅Ρ€Ρ‚ ΠœΠ°Ρ€Ρ‚ΠΈΠ½. ΠšΠΎΠ½ΡΠΏΠ΅ΠΊΡ‚. Как ΠΏΠΈΡΠ°Ρ‚ΡŒ понятный ΠΈ красивый ΠΊΠΎΠ΄?

Π― Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ конспСкт ΠΊΠ½ΠΈΠ³ΠΈ, которая всСм извСстна, Π° сам Π°Π²Ρ‚ΠΎΡ€ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π΅ Β«Π¨ΠΊΠΎΠ»ΠΎΠΉ ΡƒΡ‡ΠΈΡ‚Π΅Π»Π΅ΠΉ Чистого ΠΊΠΎΠ΄Π°Β». ΠŸΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ взгляд ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° ΠΊΠ°ΠΊ Π±Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚:

Β«Π― тСбя насквозь Π²ΠΈΠΆΡƒ. Π’Ρ‹ ΠΎΠΏΡΡ‚ΡŒ Π½Π΅ ΡΠ»Π΅Π΄ΡƒΠ΅ΡˆΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ чистого ΠΊΠΎΠ΄Π°?Β»

чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ

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

Π§Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ΅ этот самый чистый ΠΊΠΎΠ΄ ΠΏΠΎ вСрсии ΠœΠ°Ρ€Ρ‚ΠΈΠ½Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… словах? Π­Ρ‚ΠΎ ΠΊΠΎΠ΄ Π±Π΅Π· дублирования, с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством сущностСй, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для чтСния, простой. Π’ качСствС Π΄Π΅Π²ΠΈΠ·Π° ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ: Β«Π―ΡΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅ всСго!Β».

Π“Π»Π°Π²Π° 2. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°

ИмСна Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ намСрСния программиста

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ названия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: daysSinceCreation;
ЦСль: ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ.

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π΄Π΅Π·ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ слова со скрытыми значСниями, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ. ΠžΡΡ‚Π΅Ρ€Π΅Π³Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠ°Π»ΠΎΠ·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΈΠΌΠ΅Π½Π°Ρ…. НапримСр, XYZControllerForEfficientHandlingOfStrings ΠΈ XYZControllerForEfficientStorageOfStrings.

По-настоящСму ΡƒΡΡ‚Ρ€Π°ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄Π΅Π·ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌΠ΅Π½ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ использовании строчной Β«LΒ» ΠΈ прописной Β«OΒ» Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, особСнно Π² комбинациях. ЕстСствСнно, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ эти Π±ΡƒΠΊΠ²Ρ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ констант Β«1Β» ΠΈ Β«0Β» соотвСтствСнно.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ осмыслСнныС различия

Если ΠΈΠΌΠ΅Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ понятия.

«ЧисловыС ряды» Π²ΠΈΠ΄Π° (a1, a2,… aN) ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ присваивания ΠΈΠΌΠ΅Π½. Они Π½Π΅ нСсут ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ Π΄Π°ΡŽΡ‚ прСдставлСния ΠΎ намСрСниях Π°Π²Ρ‚ΠΎΡ€Π°.

НСинформативныС слова ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹. Π‘Π»ΠΎΠ²ΠΎ variable Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘Π»ΠΎΠ²ΠΎ table Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. Π§Π΅ΠΌ имя NameString Π»ΡƒΡ‡ΡˆΠ΅ Name? Π Π°Π·Π²Π΅ имя ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, скаТСм, вСщСствСнным числом?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ удобопроизносимыС ΠΈΠΌΠ΅Π½Π°: generationTimestamp Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ genymdhms.

Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΈΠΌΠ΅Π½Π°, ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ для поиска

ΠžΠ΄Π½ΠΎΠ±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ….

Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ схСм кодирования ΠΈΠΌΠ΅Π½

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ»ΠΎΡ…ΠΎ произносятся ΠΈ Π² Π½ΠΈΡ… Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π― (Π°Π²Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ) ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° интСрфСйсов Π±Π΅Π· прСфиксов. ΠŸΡ€Π΅Ρ„ΠΈΠΊΡ I, ΡΡ‚ΠΎΠ»ΡŒ распространСнный Π² старом ΠΊΠΎΠ΄Π΅, Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС ΠΎΡ‚Π²Π»Π΅ΠΊΠ°Π΅Ρ‚, Π° Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ β€” ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ лишнюю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π― Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ своим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ с интСрфСйсом.

ИмСна классов

ИмСна классов ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ: Customer, WikiPage, Account ΠΈ AddressParser. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΈΠΌΠ΅Π½Π°Ρ… классов Ρ‚Π°ΠΊΠΈΠ΅ слова, ΠΊΠ°ΠΊ Manager, Processor, Data ΠΈΠ»ΠΈ Info. Имя класса Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π³Π»Π°Π³ΠΎΠ»ΠΎΠΌ.

ИмСна ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

ИмСна ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π³Π»Π°Π³ΠΎΠ»Ρ‹ ΠΈΠ»ΠΈ Π³Π»Π°Π³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ словосочСтания: postPayment, deletePage, save ΠΈ Ρ‚. Π΄. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ чтСния/записи ΠΈ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ ΠΈΠ· значСния ΠΈ прСфикса get, set ΠΈ is согласно стандарту javabean.

Π’ΠΎΠ·Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ΡΡŒ ΠΎΡ‚ ΠΊΠ°Π»Π°ΠΌΠ±ΡƒΡ€ΠΎΠ²

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

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст

ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ прСфиксов: addrFirstName, addrLastName, addrState ΠΈ Ρ‚. Π΄. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΉΠΌΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΉ структуры. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс с ΠΈΠΌΠ΅Π½Π΅ΠΌ Address, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°ΠΆΠ΅ компилятор Π·Π½Π°Π», Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ большСго.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с нСясным контСкстом:

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

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с контСкстом:

НС добавляйтС ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ контСкст

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ…, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ… смысл понятСн Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ ΠΊΠΎΠ΄Π°. НС Π²ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Π² имя большС контСкста, Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

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

ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ!

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌΠΈ.
Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π΅Π΅.

Мой практичСский ΠΎΠΏΡ‹Ρ‚ Π½Π°ΡƒΡ‡ΠΈΠ» мСня (Ρ†Π΅Π½ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ± ΠΈ ошибок), Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ малСнькими. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π»ΠΈΠ½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»Π° 20 строк.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

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

Π‘Π΅ΠΊΡ†ΠΈΠΈ Π² функциях

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ осмыслСнно Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° сСкции.

Один ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ функция выполняСт Β«Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽΒ», Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ находятся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ абстракции.

БмСшСниС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ всСгда создаСт ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ.

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° свСрху Π²Π½ΠΈΠ·: ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ пониТСния

Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ рассказ β€” свСрху Π²Π½ΠΈΠ·.

Π—Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ уровня абстракции. Π­Ρ‚ΠΎ позволяСт Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΏΡƒΡΠΊΠ°ΡΡΡŒ ΠΏΠΎ уровням абстракции Π² Ρ…ΠΎΠ΄Π΅ чтСния списка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π― Π½Π°Π·Ρ‹Π²Π°ΡŽ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Β«ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ пониТСния».

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ switch

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

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдставлСна всСго ΠΎΠ΄Π½Π° опСрация, зависящая ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠ°.

Π­Ρ‚Π° функция ΠΈΠΌΠ΅Π΅Ρ‚ ряд нСдостатков. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΠ½Π° Π²Π΅Π»ΠΈΠΊΠ°, Π° ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ² ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΎΠ½Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ выполняСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, ΠΎΠ½Π° Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π΅Π΄ΠΈΠ½ΠΎΠΉ отвСтствСнности (Single responsibility principle), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π½Π΅Π΅ сущСствуСт нСсколько Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½ измСнСния.

Π’-Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹Ρ…, ΠΎΠ½Π° Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ открытости/закрытости (The Open Closed Principle), ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ².

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

isPayday(Employee e, Date date)

deliverPay(Employee e, Money pay)

ВсС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ всС Ρ‚Ρƒ ΠΆΠ΅ ΡƒΡ‰Π΅Ρ€Π±Π½ΡƒΡŽ структуру. РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ…ΠΎΡ€ΠΎΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ switch Π² Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π΅ абстрактной Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ Π΅Π΅ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ. Π€Π°Π±Ρ€ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ switch для создания ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… экзСмпляров ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Employee, Π° Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ calculatePay, isPayDay, deliverPay ΠΈ Ρ‚. Π΄. проходят ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс Employee.

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

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°

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

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

АргумСнты Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π’ идСальном случаС количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ. Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΎΠ΄Π½ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ (ΡƒΠ½Π°Ρ€Π½Ρ‹Π΅) ΠΈ с двумя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ (Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅). Π€ΡƒΠ½ΠΊΡ†ΠΈΠΉ с трСмя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ (Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹Ρ…) слСдуСт ΠΏΠΎ возмоТности ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ.

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

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вмСсто Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΡΠ±ΠΈΠ²Π°ΡŽΡ‚ читатСля с Ρ‚ΠΎΠ»ΠΊΡƒ. Если функция ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ свой Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ.

АргумСнты-Ρ„Π»Π°Π³ΠΈ

АргумСнты-Ρ„Π»Π°Π³ΠΈ ΡƒΡ€ΠΎΠ΄Π»ΠΈΠ²Ρ‹. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° логичСского значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” воистину уТасная ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ°. Она Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ услоТняСт сигнатуру ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Π³Ρ€ΠΎΠΌΠΊΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ·Π³Π»Π°ΡˆΠ°Ρ, Ρ‡Ρ‚ΠΎ функция выполняСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈ истинном Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Ρ„Π»Π°Π³Π° выполняСтся ΠΎΠ΄Π½Π° опСрация, Π° ΠΏΡ€ΠΈ Π»ΠΎΠΆΠ½ΠΎΠΌ β€” другая.

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ с двумя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ слоТнСС, Ρ‡Π΅ΠΌ ΡƒΠ½Π°Ρ€Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуациях Ρ„ΠΎΡ€ΠΌΠ° с двумя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ оказываСтся умСстной. НапримСр, Π²Ρ‹Π·ΠΎΠ² Point p = new Point(0,0); Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ€Π°Π·ΡƒΠΌΠ΅Π½. Однако Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π² нашСм случаС ΡΠ²Π»ΡΡŽΡ‚ΡΡ упорядочСнными ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ значСния.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

Если функция Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², вСсьма вСроятно, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· этих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² стоит ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ классС. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° объявлСния:

Если ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ совмСстно ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ (ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ x ΠΈ y Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅), Ρ‚ΠΎ, скорСС всСго, вмСстС ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ, Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ собствСнного ΠΈΠΌΠ΅Π½ΠΈ.

Π“Π»Π°Π³ΠΎΠ»Ρ‹ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова

Π’Ρ‹Π±ΠΎΡ€ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ способСн Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ смысл Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ порядок ΠΈ смысл Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ ΡƒΠ½Π°Ρ€Π½Ρ‹Ρ… функциях сама функция ΠΈ Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π΅ΡΡ‚Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ Β«Π³Π»Π°Π³ΠΎΠ»/ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅Β». НапримСр, Π²Ρ‹Π·ΠΎΠ² Π²ΠΈΠ΄Π° write(name) смотрится вСсьма ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎ.

Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ Π±Ρ‹ Π½ΠΈ Π±Ρ‹Π»ΠΎ «имя» (name), ΠΎΠ½ΠΎ ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ «записываСтся» (write). Π•Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅ запись writeField(name), которая сообщаСт, Ρ‡Ρ‚ΠΎ «имя» записываСтся Π² Β«ΠΏΠΎΠ»Π΅Β» ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ структуры.

ПослСдняя запись являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ использования ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ этой Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠΌΠ΅Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. НапримСр, assertEquals ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ assertExpectedEqualsActual(expected, actual). Π­Ρ‚ΠΎ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ запоминания порядка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ запросов

Ѐункция Π΄ΠΎΠ»ΠΆΠ½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ вопрос, Π½ΠΎ Π½Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π›ΠΈΠ±ΠΎ функция измСняСт состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π»ΠΈΠ±ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± этом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅. Π‘ΠΎΠ²ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ часто создаСт ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ.

Π˜Π·ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π±Π»ΠΎΠΊΠΈ try/catch

Π‘Π»ΠΎΠΊΠΈ try/catch выглядят вСсьма ΡƒΡ€ΠΎΠ΄Π»ΠΈΠ²ΠΎ. Они Π·Π°ΠΏΡƒΡ‚Ρ‹Π²Π°ΡŽΡ‚ структуру ΠΊΠΎΠ΄Π° ΠΈ ΡΠΌΠ΅ΡˆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок с Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ‚Π΅Π»Π° Π±Π»ΠΎΠΊΠΎΠ² try ΠΈ catch рСкомСндуСтся Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° опСрация

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок β€” это ΠΎΠ΄Π½Π° опСрация. Π—Π½Π°Ρ‡ΠΈΡ‚, функция, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ошибки, Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π°. ΠžΡ‚ΡΡŽΠ΄Π° слСдуСт, Ρ‡Ρ‚ΠΎ Ссли Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ присутствуСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово try, Ρ‚ΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ словом Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° послС Π±Π»ΠΎΠΊΠΎΠ² catch/finally Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π€ΠΎΡ‚ΠΎ чистый ΠΊΠΎΠ΄ ΠΊΠ½ΠΈΠ³Π° Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ

К соТалСнию, ΠΌΠΎΠΈ ухищрСния Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ. Как Π±Ρ‹ элСгантно Π½ΠΈ выглядСла эта Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Π² ΠΈΡ‚ΠΎΠ³Π΅ я понял, Ρ‡Ρ‚ΠΎ СдинствСнными ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Ρ‹Π»ΠΈ тСсты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ». И я ΡƒΠ΄Π°Π»ΠΈΠ» тСсты.

Π‘Ρ‚Ρ‹Π΄Π½ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π½Π°ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΈ Π³Ρ€Π°Π±Π»ΠΈ! ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ², Ρ‡Ρ‚ΠΎ функция relativeToString (строки 765–781) Π½Π΅ вызываСтся Π½ΠΈΠ³Π΄Π΅, ΠΊΡ€ΠΎΠΌΠ΅ тСстов, я просто ΡƒΠ΄Π°Π»ΠΈΠ» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ вмСстС с Π΅Π΅ тСстами.

НаконСц-Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎ абстрактных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² абстрактного класса. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ выглядит Π·Π½Π°ΠΊΠΎΠΌΠΎ: toSerial (строки 838–844). На с. 316 я присвоил Π΅ΠΌΡƒ имя toOrdinal. Рассматривая Π΅Π³ΠΎ Π² Π½ΠΎΠ²ΠΎΠΌ контСкстС, я Ρ€Π΅ΡˆΠΈΠ», Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π² getOrdinalDay.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄, toDate (строки 838–844), ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ DayDate Π² java.util.Date. ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄ объявлСн абстрактным? ΠŸΡ€ΠΈΡΠΌΠΎΡ‚Ρ€Π΅Π²ΡˆΠΈΡΡŒ ΠΊ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² SpreadsheetDate (строки 198–207, листинг Π‘.5, с. 428), ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ зависит Π½ΠΈ ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΡ… подробностСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ класса [G6]. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я поднял Π΅Π³ΠΎ Π½Π° Π±ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ getYYYY, getMonth ΠΈ getDayOfMonth абстрактны. ΠœΠ΅Ρ‚ΠΎΠ΄ getDayOfWeek β€” Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдовало Π±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· SpreadSheetDate β€” Ρ‚ΠΎΠΆΠ΅ Π½Π΅ зависит ΠΎΡ‚ DayDate. Или всС-Ρ‚Π°ΠΊΠΈ зависит? ΠŸΡ€ΠΈΡΠΌΠΎΡ‚Ρ€Π΅Π²ΡˆΠΈΡΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (строка 247, листинг Π‘.5, с. 428), ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ нСявно зависит ΠΎΡ‚ Β«Ρ‚ΠΎΡ‡ΠΊΠΈ отсчСта» Π΄Π½Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ (ΠΈΠ½Π°Ρ‡Π΅ говоря, ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ дСнь Π½Π΅Π΄Π΅Π»ΠΈ считаСтся Π΄Π½Π΅ΠΌ 0). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, хотя функция Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ физичСских зависимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² DayDate, Ρƒ Π½Π΅Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ логичСскиС зависимости.

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ логичСскиС зависимости бСспокоят мСня [G22]. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° логичСском ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΈ Π½Π° физичСском ΡƒΡ€ΠΎΠ²Π½Π΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠ½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ сам Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сущСствСнно мСньшая Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ зависСла ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ [G6].

Π― создал Π² DayDate абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΈΠΌΠ΅Π½Π΅ΠΌ getDayOfWeekForOrdinalZero ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π΅Π³ΠΎ Π² SpreadsheetDate Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π» Day.SATURDAY. Π—Π°Ρ‚Π΅ΠΌ я пСрСмСстил ΠΌΠ΅Ρ‚ΠΎΠ΄ getDayOfWeek Π½Π°Π²Π΅Ρ€Ρ… ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ Π² DayDate ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π΅Π³ΠΎ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π½Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈΡΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ getOrdinalDay ΠΈ getDayOfWeekForOrdinalZero.

public Day getDayOfWeek() <

Day startingDay = getDayOfWeekForOrdinalZero();

return Day.make((getOrdinalDay() + startingOffset) % 7 + 1);

Π—Π°ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΈΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ Π² строках с 895 ΠΏΠΎ 899. Π’Π°ΠΊ Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ это ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅? Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… случаях, я ΡƒΠ΄Π°Π»ΠΈΠ» этот ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ вмСстС со всСми ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ compare (строки 902–913). Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ абстракции этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° снова Π²Ρ‹Π±Ρ€Π°Π½ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ [G6], поэтому я поднял Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² DayDate. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅Π³ΠΎ имя нСдостаточно ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ [N1]. Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π² днях, начиная с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, поэтому я ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» Π΅Π³ΠΎ Π² daysSince. Π’Π°ΠΊΠΆΠ΅ я Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎ для этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ тСста, ΠΈ написал ΠΈΡ….

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡˆΠ΅ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (строки 915–980) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой абстрактныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² DayDate. Π― ΠΈΠ·Π²Π»Π΅ΠΊ ΠΈΠ· SpreadsheetDate.

ПослСднюю Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ isInRange (строки 982–995) Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Команда switch выглядит нСкрасиво [G23]; Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, пСрСмСстив условия Π² пСрСчислСниС DateInterval.

public enum DateInterval <

public boolean isIn(int d, int left, int right) <

return d > left && d = left && d left && d = left && d

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Чистый ΠΊΠΎΠ΄. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, Π°Π½Π°Π»ΠΈΠ· ΠΈ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³

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

Π­Ρ‚Π° ΠΊΠ½ΠΈΠ³Π° посвящСна Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Она ΠΏΠΎΠ»Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ: свСрху Π²Π½ΠΈΠ·, снизу Π²Π²Π΅Ρ€Ρ… ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² ΠΊΠ½ΠΈΠ³Ρƒ, Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎ ΠΊΠΎΠ΄Π΅. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΊΠΎΠ΄ Π² Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π²Π΅Ρ€ΡΡ‚Π°Π»ΡŒΡ‰ΠΈΠΊΠ°: ΠΊΠ½ΠΈΠ³Π° содСрТит большой объСм исходников (code), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ рСкомСндуСтся ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ скрипты Β«Π“Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½Π°Ρ ΡƒΠ±ΠΎΡ€ΠΊΠ°Β», Β«ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊΒ» ΠΈ Ρ‚. Π΄.

Β«Π’ 1951 Π³ΠΎΠ΄Ρƒ Π² японской ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΠΈ появилась мСтодология ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ качСства, Π½Π°Π·Ρ‹Π²Π°Π²ΡˆΠ°ΡΡΡ TPM (Total Productive Maintenance). Она Π±Ρ‹Π»Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π½Π° сопровоТдСниС, Π° Π½Π΅ Π½Π° производство. Π”ΠΎΠΊΡ‚Ρ€ΠΈΠ½Π° TPM Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Π»Π°ΡΡŒ Π½Π° Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Β«ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… 5SΒ». Π’ сущности, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ 5S ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π°Π±ΠΎΡ€ ТитСйских ΠΏΡ€Π°Π²ΠΈΠ». ΠšΡΡ‚Π°Ρ‚ΠΈ говоря, ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² основу ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Lean β€” Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΌΠΎΠ΄Π½ΠΎΠ³ΠΎ тСчСния Π½Π° Π·Π°ΠΏΠ°Π΄Π½ΠΎΠΉ сцСнС, Π½Π°Π±ΠΈΡ€Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΡ€ΡƒΠ³Π°Ρ…. Как ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π”ΡΠ΄ΡŽΡˆΠΊΠ° Π‘ΠΎΠ± Π² своСм Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ, Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° программирования Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… качСств, ΠΊΠ°ΠΊ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ, присутствиС Π΄ΡƒΡ…Π° ΠΈ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅ всСгда Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ простым дСйствиСм, максимальной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ оборудования для производства Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ‚Π΅ΠΌΠΏΠ΅. Ѐилософия 5S состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ:Β»

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

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

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