Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠΎΠ΄Ρ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄: ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ
ΠΠ²ΡΠΎΡΠΈΠ·ΡΠΉΡΠ΅ΡΡ
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ΄: ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ
Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΠΌΠΈΡΡΠΈΠΉ Π’ΠΎΠ»ΠΎΠΊΠΎΠ½Π½ΠΈΠΊΠΎΠ², Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊ Π΄Π΅ΠΏΠ°ΡΡΠ°ΠΌΠ΅Π½ΡΠ° ΠΠ’-Π°ΡΡΡΠΎΡΡΠΈΠ½Π³Π° ALP Group
ΠΠΎΠ»ΡΡΠ΅ ΠΏΡΡΠΈ Π»Π΅Ρ Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ. Π ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌ ΠΈ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΡΠ»Π΅ΠΆΡ, ΡΡΠΎΠ±Ρ ΡΡΠΎΠ²Π΅Π½Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° IT-ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π» ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ. Π― ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ β ΠΏΠΈΡΡ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΎΠΏΠΈΡΡΠ²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π²ΡΠΏΡΡΠΊΠ°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
ΠΡΡ ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Ρ Π½Π΅ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎ Β«ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°ΡΒ» ΠΎΠ±ΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΌΠ½Π΅ Π½Π΅ Π΄Π΅Π»Π°ΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Β«ΡΠΏΠ°Π³Π΅ΡΡΠΈ-ΠΏΡΠΎΡΡΡΠ½ΠΈΒ» ΠΈ ΠΏΠΈΡΠ°ΡΡ Π²Π½ΡΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Ρ ΡΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΎΠΉ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΎΠ±ΡΡΠΌΠ½Π°Ρ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°ΡΡΠΎ ΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ Π²ΡΠ΅ Π΅Ρ ΡΠ°ΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ, ΡΡΡΠΊΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΠΎ-ΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠΎΠΈ ΠΏΡΠΈΡΠΌΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΈ Π²Π°ΠΌ.
ΠΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ
DRY β Donβt repeat yourself. ΠΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΠΉΡΡ
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π±Π»ΠΎΠΊ Π² 10 ΡΠ°Π·Π½ΡΡ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΡΠΎ-ΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ Π² Π½ΡΠΌ, ΡΠΎ Ρ Π²Π°Ρ ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ 10 ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΠΌΠ΅ΡΡ, ΠΊΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π·Π°Π±ΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΡΠΎΠΆΠ΅ ΡΠ°ΡΡΡΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ Π±Π΅ΡΡΠΌΠ΅ΡΡΠ½ΡΠΌ Β«Ctrl+CΒ» β Β«Ctrl+VΒ». ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΏΠ°ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ Π²ΡΠ΄Π΅Π»ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ»Π°ΡΡΡ, Π° Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ½ΠΎΡΠΈΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΈ Π΄Π°Π²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π½ΠΈΡ .
KISS β Keep it simple, stupid. ΠΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠΉ
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΎΠΊΡΡΠ³: Π»ΡΠ΄ΠΈ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΊ ΠΏΡΠΎΡΡΠΎΡΠ΅. ΠΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΡΠΈΠ½ΡΠΈΠΏ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² IT-ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ. ΠΠ°ΡΠΈΠ»ΡΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ ΠΈ ΠΎΠ±ΡΡΠ°ΡΡΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. Π’ΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΡΡ ΠΎΠ½ΠΈ ΠΆΠ΄ΡΡ ΠΈ ΠΎΡ ΡΠ°Π±ΠΎΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².
4 Π΄Π΅ΠΊΠ°Π±ΡΡ, ΠΠ½Π»Π°ΠΉΠ½, ΠΠ΅cΠΏΠ»Π°ΡΠ½ΠΎ
ΠΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ°ΠΊ ΠΌΠ°ΡΠΊΠ΅Ρ. ΠΡΠ»ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ β Π½ΡΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠ»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π·Π°ΠΌΡΡΠ»ΠΎΠ²Π°ΡΠ°Ρ β Π½Π°Π΄ΠΎ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΏΡΠΎΡΠ΅ ΠΈ Π΄Π΅ΡΠ΅Π²Π»Π΅, ΡΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, Π·Π°ΡΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Π΅Ρ ΡΠΈΡΠ°ΡΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΡΡΠΈΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎ Π½Π΅ΠΉ. Π Π²Π΅Π΄Ρ ΠΏΠΎΡΠΎΠΌ Π΅ΡΡ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ.
YAGNI β You ainβt gonna need it. Π’Π΅Π±Π΅ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ
ΠΡΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° KISS. ΠΠ±ΡΡΠ½ΠΎ Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡ Π΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ Π·Π°Π΄Π΅Π»ΠΎΠΌ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅. ΠΠ΅ ΡΠ°ΠΊΡ, ΡΡΠΎ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΎΠ½ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. ΠΠ±ΡΡΠ½ΠΎ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΠ΅ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅ Π²Π½Π΅ΡΡΡ ΡΠ΅ΡΡΡΠ·Π½ΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠ²Ρ.
ΠΠΎ Π·Π΄Π΅ΡΡ Π²Π°ΠΆΠ½ΠΎ ΡΠ°Π·ΡΠΌΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ Π²ΠΎΠΏΡΠΎΡΡ. ΠΡΡΡ Π²Π΅ΡΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΠΎΠ³ΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡΡ. ΠΡ ΠΊΠ°ΠΊ ΡΠ°Π· Π½ΡΠΆΠ½ΠΎ Π³ΠΎΡΠΎΠ²ΠΈΡΡ Ρ Π·Π°Π΄Π΅Π»ΠΎΠΌ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ½ΠΎΡΡΡ ΠΊ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π·Ρ Π³ΠΎΠ²ΠΎΡΡΡ: Β«ΠΡΠΎ Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΒ». Π Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Ρ ΡΡΡΠ΄ΠΎΠΌ Π½Π°Π²ΡΡΡΡΡΠ²Π°ΡΡ ΡΠΏΡΡΠ΅Π½Π½ΠΎΠ΅.
ΠΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ
Π§Π΅ΠΌ ΠΎΠ±ΡΡΠΌΠ½Π΅Π΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π²Π»Π΅ΡΡΡ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΊΠ°ΡΠΊΠ°Π΄Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ , Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ Π»ΠΎΠΌΠ°Π΅ΡΡΡ, ΡΡΡΡΠΊΡΡΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠΈ. Π ΡΡΠ°ΡΡΡΡ, Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Π·Π° ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠ΅ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΡ Π²ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΈΡΡ ΠΎΠ±ΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π§Π°ΡΡΡ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ.
SRP β Single Responsibility Principle. ΠΡΠΈΠ½ΡΠΈΠΏ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ
Π―ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠΊΠ΅Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° β Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ±ΠΎΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ Π½ΠΎΠ²ΠΎΠΌ Π·Π°ΠΊΠ°Π·Π΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΅ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ Π±Π°Π»Π°Π½Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΈ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΠΏΠΈΡ ΠΈΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ Β«Π·Π°ΠΎΠ΄Π½ΠΎΒ»: ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π²Π΅ΠΆΠ»ΠΈΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ self-service ΠΏΠΎΡΡΠ°Π»Π° ΠΈ Ρ. Π΄.
ΠΠ΅Π»ΡΠ·Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΡΠ²ΠΎΠ΅Π½Π° ΠΈΠ»ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΡΡ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ, ΡΡΠΎΠ±Ρ Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ. ΠΠ°ΡΠΎ ΡΡΠΎ Π·Π°ΠΏΡΡΡΠ²Π°Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π»ΠΈΡΠ°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΡΡΡΠΊΠΎΡΡΠΈ ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ Π²Π΅ΠΆΠ»ΠΈΠ²ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, Π²ΡΡΠ°Π²ΡΡΠ΅ Π² ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ (Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎ DRY).
Π‘ΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΠ΅. ΠΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π° ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½ΡΡ ΡΡΡΠΏΡΠΈΠ·ΠΎΠ². ΠΡ ΠΏΡΠΎΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π·Π° ΡΠ°Π·. Π Π½Π΅ Π·Π°Π±ΡΡΡ, Ρ ΡΠ΅Π³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½Π°ΡΠΈΠ½Π°Π»ΡΡ.
SLAP β Single Level of Abstraction Principle. ΠΡΠΈΠ½ΡΠΈΠΏ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ
Π―Π²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ (SRP).
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² KISS ΠΈ SRP ΠΏΠΎΠ±ΡΠΆΠ΄Π°Π΅Ρ ΠΏΠΈΡΠ°ΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅, ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ. ΠΠΎ ΡΡΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π² ΡΠ°ΠΊΡΡ ΠΆΠ΅ ΠΏΡΠΎΡΡΡΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΠ΄Π΅ΡΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ²Π½Π΅ΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΡΠΌΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π²ΡΠΎΠ΄Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½ΡΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π°. ΠΠ°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΡΠ½Π΅Π΅ ΡΠ°Π·Π±ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΡΠΎΠ²Π½ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠ°Π·Π½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ β Π²Π΅ΡΡ Π½Π΅ΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈ Ρ. Π΄.
ΠΡΠΈ ΡΡΠΎΠΌ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Π½ΡΠΆΠ½ΠΎΠΌΡ ΡΡΠΎΠ²Π½Ρ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ Π²Π΅ΡΡ Π½Π΅ΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, Π½Π΅ Π½Π°Π΄ΠΎ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠ΅ ΡΠΎΡ ΡΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ! ΠΡΡΠ°Π²ΡΡΠ΅ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠΎΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅Ρ SRP, Π·Π°ΡΡΠ°Π²Π»ΡΡ Π°Π²ΡΠΎΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎ, Π·Π° ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ.
LoD β Law of Demeter (Donβt talk to strangers). ΠΠ°ΠΊΠΎΠ½ ΠΠ΅ΠΌΠ΅ΡΡΡ (ΠΠ΅ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠΈΠ²Π°ΠΉ Ρ Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΡΠ°ΠΌΠΈ)
ΠΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π·Π°ΠΊΠΎΠ½ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ IT-ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°ΠΌΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π½Π°ΠΏΡΡΠΌΡΡ, Π° Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ β ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Π’ΠΎΠ³Π΄Π° Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Π Π²ΠΎΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π½Π΅ Π½Π°Π΄ΠΎ.
ΠΡΠΎΠ³ΠΎ
Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΌΠ½Π΅ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ, Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ΅Π³Π»Π°ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΡΠΎ Π»ΠΈΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π²ΡΠΈΠΌΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ³Π»ΡΠ±ΠΈΡΡΡΡ Π² ΡΠ΅ΠΌΡ. ΠΠ· Π½Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ Π·Π°ΠΊΠΎΠ½Π°ΠΌΠΈ. Π ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΡΡ ΠΎΠ± ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΡΠ°ΡΡΠΎ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ ΠΈΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π΅ Π²ΠΏΠ°Π΄Π°ΠΉΡΠ΅ Π² ΠΊΡΠ°ΠΉΠ½ΠΎΡΡΠΈ. Π Π½Π΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΎ Π·Π΄ΡΠ°Π²ΠΎΠΌ ΡΠΌΡΡΠ»Π΅.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠΎΠ΄Ρ?
ΠΡΠΎΡΡΠΎΠΉ 3 ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
ΠΡΡΡ Π΄Π²Π΅ ΠΊΡΠ°ΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΡ
Π»ΡΡΡΠ΅ ΠΈΠ·Π±Π΅Π³Π°ΡΡ:
1. ΠΊΡΠ°ΡΠΈΠ²Π°Ρ ΠΈ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ
2. ΡΠ»ΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄, Π±Π΅Π· ΠΌΠ°Π»Π΅ΠΉΡΠΈΡ
ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ Ρ ΡΠ΅Π³ΠΎ Π²ΡΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΈ ΡΠ΅ΠΌ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ
ΠΡΡΠ°ΡΠΈ, ΠΏΡΠΎΠ΅ΠΊΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°, ΡΡΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊ ΠΊΠΎΠ΄Ρ, ΡΡΠΎ Π΅ΡΠ΅ ΠΈ ΡΠ²ΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π½Π΅ ΡΠ°ΡΠΏΠΎΠ»Π·ΡΠΈΡΡ ΠΊΡΠΎ Π² Π»Π΅Ρ ΠΊΡΠΎ ΠΏΠΎ Π΄ΡΠΎΠ²Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡ ΡΡΠΈΠ»ΠΈΡΡΠΈΠΊΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ ΠΈ Π»Π΅Π³ΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°.
ΠΡΠΌΠ°Ρ, Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΡΠΊΠ½ΡΡ Π½Π΅ Π²ΡΠΆΡΡΡΡ Ρ JS, Ρ ΠΎΡΡ ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅Π΄Π°Ρ (php, java etc).
ΠΠ° JS Π²ΠΎΠΎΠ±ΡΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ «ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ» ΠΈ «Ρ ΠΎΡΠΎΡΠΎ»))
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½, JSDOC, ΡΠ½ΠΈΡ ΡΠ΅ΡΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² JS, Π½ΠΎ ΡΡΠΎ, ΠΈΠΌΡ ΠΎ, Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠΎΡ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
ΠΠ° ΡΡΠ΅Ρ 2007-Π³ΠΎ, Π° ΡΠ°Π·Π²Π΅ Π² JS ΡΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°?))
ΠΠ° ΠΈ Π² ΡΡΠΎ ΡΠ°Π· ΠΏΡΠΎΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ hhvm ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ ΠΊΠΎΠ΄ Π½Π° PHP+ΡΡΠ΅ΠΉΠΌΠ΅ Π΅ΠΆΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΡΠΉΠ΄Π΅Ρ ΠΈ Π±ΡΡΡΡΠ΅Π΅, ΠΈ ΠΏΡΠΎΡΠ΅, ΠΈ Π»ΡΡΡΠ΅.
ΠΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ, ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΠΏΡΡΡΡ ΠΈΠ· Π½ΠΈΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΠΊ ΠΌΠΎΠ΄ΡΠ»Ρ βΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°β ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΈΡ ΠΏΠΎΠ΄Π΅Π»ΠΈΠ»Π°ΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ. ΠΠΎΡ, ΡΡΠΎ ΠΎΠ½Π° Π½Π°ΠΏΠΈΡΠ°Π»Π°:
ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΊΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ Π±ΡΡΡ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ Π½Π° Π΄Π²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
ΠΠΎΡΠ»Π΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΠ°ΠΊ? Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² (ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠ΅ 5-10 ΡΡΡΠΎΠΊ). ΠΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΠΎΡΠ΅ΠΌΡ? Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ Π΄ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ΄Π°. Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Π² ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΡ ΠΠ°ΠΊ? ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΠΎΡΠ΅ΠΌΡ? ΠΏΡΠΈΡΠΈΠ½Π°Ρ , ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ Π΄Π²ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠ°ΠΊΠΈΠΌ ΠΏΡΠΎΡΡΡΠΌ. ΠΠΎ ΡΠ°ΠΊΠ°Ρ ΠΎΠ±ΡΠ°Ρ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅ΡΠ½ΠΎΡΡΡ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Π΅ΡΠ½Π°.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΏΠΎΠ±ΡΠΆΠ΄Π°Π΅Ρ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ Π½Π°Π΄ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ ΠΠΎΡΠ΅ΠΌΡ?. Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠΌ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ (ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΈΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅), Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΠΎΡΠ΅ΠΌΡ?.ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ ΡΡΡΠ΄Π½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΠΎΡΠ΅ΠΌΡ? ΡΡΡΠ΅ΡΡΠ²ΡΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ? ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ, Π° Π½Π΅ ΡΠ°ΠΊ? Π§Π°ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΈ, ΡΠ°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ ΠΈΠ΄ΡΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΡΠΈ, Π° Π½Π΅ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ Π΄ΡΡΠ³ΠΈΠΌ?
Π ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΊΠΎΠ΄Π°, ΡΡΠΎΠΈΡ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡ: ΠΠΎΡΠ΅ΠΌΡ?
ΠΠΎΠ΄Ρ ΠΎΠ΄ 2: ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π² ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅
ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π² ΡΠ΅Π»ΠΎΠΌ (Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°) Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΡΠ΄ΠΎΠΌ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ, Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΉ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ, ΡΡΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², ΠΏΡΠΎΠ½ΠΈΠ·ΡΠ²Π°ΡΡΠΈΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄. ΠΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π½ΡΠΆΠ΅Π½ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ΄Π΅ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ Π² ΠΊΠΎΡΠΎΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ). ΠΠ°ΠΊ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΡΡ / ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ?
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ΄Π°, Π΅ΡΡΡ ΡΠΈΡΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ Π½Π΅ΡΠΈΡΠ°Π΅ΠΌΡΠΌ. ΠΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄ΡΡ Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ΄Π°, Π΅ΡΡΡ ΡΠΈΡΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠΏΠ°ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π½Π°ΡΡ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ°ΡΡΡΠΌ ΠΊΠΎΠ΄Π° ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Twilio, Ρ ΡΡΠ΅ΡΡΠ΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ Π΄Π»Ρ ΠΊΠΎΠ΄Π°
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈ ΡΠ°Π³ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, ΠΊΠΎΠ΄ ΡΠΏΡΠ°Π²Π°, Π½Π° ΡΠ΅ΠΌΠ½ΠΎΠΌ ΡΠΎΠ½Π΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠ°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΡΠ°Π½Ρ Twilio ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ βΡΠ°Π·ΠΌΡΠ²Π°ΡΡβ Π½Π΅ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡ ΡΠ²ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π»ΠΈΠ½ΠΈΡΡ , ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π Π°Π·ΠΌΡΡΠΈΠ΅ Π½Π΅ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠΊΡΠ°Π½Π°. Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΅ΡΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ, Π½ΡΠΆΠ½ΠΎ Π·Π°Π½ΡΡΡ Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ Π±Π΅Π· ΠΏΠΎΠ»Π΅ΠΉ. (Π‘ΡΡΠ°Π½Π½ΠΎ, ΡΡΠΎ Π² Twilio Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ²Π΅ΡΠ½ΡΡΡ Π»Π΅Π²ΡΡ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΠ² ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΠΊΠΎΠ΄Π°.)
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠ΄ Π²ΠΈΠ΄Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΈΡΠ½ΠΎ. ΠΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΡΠ½ΡΡΡ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ Π²ΠΏΡΠ°Π²ΠΎ, Π½ΠΎ, Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠ°ΠΌ ΡΡΠΆΠ΅Π»ΠΎ Π΄Π°Π»ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠΊΡΡΡΠΊΡ.
ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·ΠΌΡΡΠΈΡ ΡΠΎΠΊΡΡΠ° ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° Ρ ΠΊΠΎΠ΄ΠΎΠΌ, Π½Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΉ.
ΠΡΡΠ³Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΌΡ ΡΠ΅Π΄ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΎΠ²Π½ΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΡΠΈ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ. Π ΡΠΎΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ, ΠΊΠΎΠ΄ ΡΠΆΠ΅ Π½Π΅ Π²ΠΈΠ΄Π΅Π½. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ½ΠΈΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄. ΠΠΈΠ·Π°ΠΉΠ½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΠΈΡ Π΄Π²ΠΈΠΆΡΡΠΈΡ ΡΡ ΡΠ°ΡΡΠ΅ΠΉ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠΌ, Π½ΠΎ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠ΅ ΠΎΠ΄Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΡΠ°ΠΊΠΈΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠ΄ ΡΠ°ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ. ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π»ΠΈ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΉΠ»Π΅ Java ΠΈΠ»ΠΈ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠΎΠ΄ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Java. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π² ΡΡΠΎΠ»Π±ΡΠ΅ ΠΊΠΎΠ΄Π° ΡΡΠ΅Π±ΡΠ΅Ρ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π‘Π»ΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Markdown.
ΠΠΎΠ΄Ρ ΠΎΠ΄ 3: ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΠ΅Π³ΠΎ
ΠΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Ρ Π½ΡΠ»Ρ, ΡΡΠΎΠ²Π½Ρ Π·Π° ΡΡΠΎΠ²Π½Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ βΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΠΠ΅Π³ΠΎβ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΠ΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π² eBay Shopping API ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΠΏΡΠΎΠ΄Π°Π²ΡΡ: ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠΎΠ΄Π°Π²ΡΠ΅.
ΠΠΎΠ΄Ρ ΠΎΠ΄ ΠΠ΅Π³ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² API eBay Shopping
Π£ Π½ΠΈΡ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π²ΡΠ΅Π³ΠΎ 5 ΡΠ°Π³ΠΎΠ²:
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΠΠ΅Π³ΠΎ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΈΡΠ°ΡΠ΅Π»Ρ Π²ΡΡΠ΄ Π»ΠΈ Π²ΠΎΡΡΠΎΠ·Π΄Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΏΡΠ°Π²ΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ, ΠΈ ΡΠΎΠ³Π΄Π° ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎ ΠΊΠΎΠ΄Π΅, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΡΡΡΠ΄Π½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄?, Π³Π΄Π΅ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΠΠ΅Π³ΠΎ, Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΠΈΡΡ ΠΊΠΎΠ³ΠΎ-ΡΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΠ΄, Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΠ°ΡΡ Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈ ΠΈΠ΄ΡΠΈ ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌΡ. Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎΠΌΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠ°ΡΠΎΡΡ Π½Π°ΡΡΠΈΠ»ΡΡΠ°.
ΠΠΎΠ΄Ρ ΠΎΠ΄ 4: ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΠ°ΡΡΠΈΠ»ΡΡ
ΠΠΎΠ΄Ρ ΠΎΠ΄ ΠΠ°ΡΡΠΈΠ»ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΠ΅Π³ΠΎ, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΡΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΠΎΡΠΊΠΈ, Π·Π΄Π΅ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ. ΠΠ°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΡΡΠ°Ρ ΡΠΏΠΈΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π½Π°ΡΡΠΈΠ»ΡΡΠ°.
ΠΠΎΠ» ΠΡΡΡΠ°ΡΡΠΎΠ½, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠ΅ΠΉΡΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΈΡΡΠΌΠ°, Π² Bay Area, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΠΊΡΠΏΠ΅ΡΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ ΠΌΠ΅ΡΠ°ΡΠΎΡΠΎΠΉ ΠΠ°ΡΡΠΈΠ»ΡΡΠ°, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π·Π΄Π΅ΡΡ. ΠΠΎΠ» Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π½Π°ΡΡΠΈΠ»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΌΠ΅ΡΠ°ΡΠΎΡΠΎΠΉ Π΄Π»Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π°ΡΡΠΈΠ»ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠ°Π»ΡΠ½ΡΡ ΡΡ Π΅ΠΌΡ (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ), ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Ρ ΠΌΠ°Π»ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ°ΡΡΠ΅Ρ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ:
Π‘Π»Π΅Π΄ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΠ°ΡΡΠΈΠ»ΡΡ, ΠΌΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Ρ ΠΏΡΠΎΡΡΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π° Π²ΠΎΠΊΡΡΠ³ Π½Π΅Π³ΠΎ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΡ Π½Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°. ΠΠ°ΠΊΠΎΠ½ΡΠ΅Π½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ°, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ Π²ΠΈΠ΄Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ³ΠΎ, Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΡΠ°ΡΡΠΎ Ρ ΠΎΡΠΈΠΌ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π³ΠΎΡΠΎΠ²ΡΠΉ ΠΊΠΎΠ΄, ΠΏΡΠΎΠ²ΠΎΠ΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ΅Π· Π²ΡΠ΅ ΠΎΡ Π½Π°ΡΠ°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°. Π£ Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ 500 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ, Π½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Nautilus Π·Π°ΡΡΠ°Π²ΠΈΠ» Π±Ρ Π½Π°Ρ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π°). Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΈΠΏΠ° A-ΠΏΡΠΎΡΠΈΠ²-Z: ΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ A (ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ΄ΡΠ°), Π½ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Z. ΠΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΡ Π΄ΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΎΡ A Π΄ΠΎ Z? ΠΠ°ΠΊ ΠΌΡ ΠΏΡΠΈΠ΄Π΅ΠΌ ΠΎΡ ΠΏΡΠΎΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ 20 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, Π΄ΠΎ ΡΡΠ΄ΠΎΠ²ΠΈΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ, Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 500 ΡΡΡΠΎΠΊ?
ΠΠ»Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΈΡΠ°ΡΠ΅Π»Ρ, ΡΠΌΠΎΡΡΡΡΠ΅Π³ΠΎ Π½Π° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄, Π½Π΅Ρ ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠΏΠ°Π» ΡΡΠ΄Π°. ΠΡ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΠΈΠ½Π°Π» ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π»ΠΎ Π΅Π³ΠΎ ΠΊ ΡΡΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠ΅Π»ΠΈ. ΠΡΠ΅, ΡΡΠΎ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΊΠΎΠ½Π΅Ρ. ΠΠ°ΠΊ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π°ΡΠ°Π»? ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ»ΠΈ Π·Π° Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π½Π°ΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ? ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»ΠΈ ΠΊΠΎΠ΄ ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΠ°ΡΡΠΈΠ»ΡΡΠ°, ΡΡΠΎΡΡΠΈΠΉ Π·Π° ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠ°ΠΊ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½Ρ?
Π§ΡΠΎΠ±Ρ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½Ρ, ΡΡΠΎ Π»ΡΡΡΠ΅: Π½Π°ΡΠ°ΡΡ Ρ Π²Π΅ΡΡ Π° ΠΈ ΠΈΠ΄ΡΠΈ ΠΊ Π½ΠΈΠ·Ρ? ΠΠ΅Ρ, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΡΠΌΠ΅ΡΠ½ΠΎ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π»ΡΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ²Π°Π»Π° Π³ΠΎΠ»ΠΎΠ²Ρ. ΠΠΎΡΠΎΠΌ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠΈΡ Π½Π°Π±ΡΠΎΡΠΊΠΎΠ² Π΄Π»Ρ Π³Π»Π°Π· ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π½Π°Π±ΡΠΎΡΠ°ΡΡ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΠΈ Π΄ΡΡΠ³ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ. ΠΠΈΠΊΡΠΎ ΡΡΠ°Π·Ρ Π½Π΅ ΠΏΡΠΈΡΡΡΠΏΠ°Π΅Ρ ΠΊ ΡΠ²Π΅ΡΠ°ΠΌ, ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅Π½ΡΠΌ, Π²Π΅ΡΠ½ΠΎ? Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ Ρ ΠΎΡΠ½ΠΎΠ²Ρ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ Π±ΠΎΠ»ΡΡΠ΅ΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΡ Π΄Π΅ΡΠ°Π»Π΅ΠΉ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΠΊΠΎ, ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°. ΠΠ²ΡΠΎΡ ΠΊΡΡΡΠ° Π½Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ, Π½ΠΎ Π΅ΠΌΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Jekyll ΠΈ ΡΠ΅ΠΌΠ°ΠΌΠΈ, ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π» ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΊΡΠΏΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠΊΠ΅ΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, JIRA) ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΡΠ΅ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅.
Π€ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π±ΡΠ΅Π΄, ΠΏΡΠ°Π²Π΄Π°. ΠΠ΄Π΅ΡΡ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΠΊΠ»ΡΠ΄ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π΅Π΅ ΠΈΠ· ΠΎΡΡΠ΅ΡΠ° Π² ΠΎΡΡΠ΅Ρ. ΠΠ΄Π΅ΡΡ ΡΠ±ΡΠ°Π½Ρ ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΡΡΠΈΠ»ΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π·Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π°ΡΡ ΠΊΠΎΠ΄, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Ρ ΡΠ°Π½ΡΡΡΡ Π²ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΡΠ°ΠΉΠ»Π°Ρ .
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π·Π°Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄. ΠΡΠ»ΠΈ Π±Ρ Π²Ρ Π½Π°ΡΠ°Π»ΠΈ ΡΠ²Π΅ΡΡ Ρ ΠΈ Π΄ΠΎΡΠ»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π°ΡΡΠΎΡΡΠΈΠΌ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ΄Π½ΠΎ ΡΠΈΡΠ°ΡΡ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΎΠΉ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΉ ΠΊΠ»ΡΠ±ΠΎΠΊ. Π ΠΎΠ½ Π½Π΅ ΡΠ°ΡΠΏΡΡΠ°Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π²ΡΠ΅, Π½Π΅ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡ ΠΎ ΡΠΈΡΡΠΎΠΌ, ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ. ΠΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±ΡΡΡΡΠΎ Π²ΡΠΏΡΡΡΠΈΡΡ ΠΎΡΡΠ΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ» Π²Π·Π»ΠΎΠΌΠ°Π½ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΡΠΎΠ·Π΄Π°ΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΡΡΠΎ Π²Π½Π΅Π΄ΡΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Ρ Π°ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΡΡΡΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΊΠΎΡΡ ΠΈ WD-40, ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΠΆΠΎΡΠ» Π‘ΠΏΠΎΠ»ΡΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π² ΡΡΠΎΠΊ.
ΠΠ°ΠΆΠ΅ ΡΡΠΎΡ ΠΊΡΡΠΎΠΊ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅ΡΡΡ ΡΡΡΠ°Π½Π½ΡΠ΅ Π²Π΅ΡΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΡΠΊΠΎΠ±ΠΊΠΈ Π² ΡΡΡΠ»ΠΊΠ°Ρ Π½Π° ΡΠ°ΠΉΠ» YAML.
Π§ΡΠΎΠ±Ρ ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΠΊΠΎΠ΄ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠ°ΡΡ Ρ ΡΡΠΎΠ³ΠΎ:
Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½ΡΠΆΠ½ΠΎ Π²Π·ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ²ΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°. Π ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΅Π³ΠΎ ΡΠ·ΡΠΊ ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΠΏΠΈΡΠ°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠΎΡΠΈΡΡ:
ΠΠΎΠ΄Ρ ΠΎΠ΄ 5: ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠΌΠ΅ΡΠ°Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°. Π‘ ΡΡΠΈΠΌ ΡΠΈΠΏΠΎΠΌ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΡΠ·Π°Π½ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ, ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ΅Π»ΡΡ ΠΏΠΎΠΌΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΠ°ΠΌΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠΉ Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
ΠΠ½ΠΎΠΏΠΊΠ° Try it out Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Swagger
Swagger ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΠ·ΡΡΠ°ΡΡ API (ΡΠΈΡΠ°Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ). ΠΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ API REST ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠ΅. ΠΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΏΠΎ ΠΊΠΎΠ΄Ρ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Β«NotebooksΒ» (ΠΊΠ°ΠΊ ΠΈΡ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ Jupyter Notebooks. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Jupyter:
Π£ Google Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π±Π»ΠΎΠΊΠ½ΠΎΡΠ° Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ TensorFlow, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°Ρ . ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΎΠΏΡΠΈΡ Run code now :
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΠΎΡ TensorFlow
ΠΠ»ΠΈΠΊ Π½Π° Run code now ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ Π·Π°ΠΏΠΈΡΠ½ΡΡ ΠΊΠ½ΠΈΠΆΠΊΡ Google, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ΄ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅:
ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ Π±Π»ΠΎΠΊΠ½ΠΎΡ Google ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅
Π₯ΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠ½ΡΠ΅ ΠΊΠ½ΠΈΠΆΠΊΠΈ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΊΡΡΡΠΎ, ΠΎΠ½ΠΈ ΠΊΠ°ΠΆΡΡΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ Π΄Π»Ρ ΡΠ΅Π³ΠΎ-ΡΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ°Π·ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Python ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ?
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ 5 ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°:
ΠΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
👨💻 ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π½ΡΡΠΈΠ΅: ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ²
ΠΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π» Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ ΠΏΠΎ ΠΊΠΎΠ΄Ρ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ°ΠΉΡΠΎΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ API, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΡΡΠ°Π»ΠΈ. ΠΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΉΡΠΎΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ API Π² ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΎΡ Nordic APIs: 5 ΠΡΠΈΠΌΠ΅Ρjd ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ API (ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ ΠΌΡ ΡΠ°ΠΊ Π΄ΡΠΌΠ°Π΅ΠΌ). Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΠΏΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ API: Stripe, Twilio, Dropbox, GitHub ΠΈ Twitter.
Π ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
Doxygen β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π ΠΡΡΠΏΠ°Π»Π΅, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, Π΄Π΅Π»Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π². ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΠΌ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ° ΡΠ°ΠΉΡΠ΅ Doxygen Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ Doxygen Π² ΠΡΡΠΏΠ°Π»Π΅.
ΠΠ±ΡΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°
ΠΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΊ Π²Π½ΡΡΡΠΈΡΡΡΠΎΡΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΈ ΠΊ Π²ΡΠ½Π΅ΡΠ΅Π½Π½ΡΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ:
ΠΠ½ΡΡΡΠΈΡΡΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈΡΡΡΠΎΡΠ½ΡΡ ΠΈ Π½Π΅Π²ΡΠ½Π΅ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ°. ΠΠ±ΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ ΠΈ Π΄ΡΠΌΠ°Π΅ΡΠ΅ ΠΏΡΠΎ ΡΠ΅Π±Ρ Β«ΠΠ³ΠΎ! Π― Π΄Π°ΠΆΠ΅ Π½Π΅ Ρ ΠΎΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°ΡΡΒ», β Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ Π·Π°Π±ΡΠ»ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄ΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΎΡ Π½Π΅Π³ΠΎ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²Π½ΡΡΡΠΈΡΡΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π΄Π»Ρ ΠΈΡ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ β ΡΡΠΎ ΡΠ»ΡΡΡΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠΈΠ»Π΅ C (/* */) ΠΈΠ»ΠΈ Π² ΡΡΠΈΠ»Π΅ C++ (//). ΠΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠΈΠ»Π΅ Perl/shell (#) Π½Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ.
ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π°Π΄ΡΡΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ»Π°ΡΡΠ°, ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
Doxygen ΠΏΠΎΠΉΠΌΡΡ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² ΡΠ°ΠΊΠΎΠΌ Π±Π»ΠΎΠΊΠ΅. ΠΠ°Ρ ΡΡΠΈΠ»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π΄Π»Ρ Doxygen, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ°Π·Π±ΠΎΡΡΠΈΠ²ΡΠΌ. ΠΡΠ±ΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΄ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠΎΡ ΠΊΠΎΠ΄, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΈ ΡΡΡΠ»Π°ΡΡΡΡ. ΠΠ»ΠΎΠΊ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄ΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π±Π΅Π· ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Doxygen β ΠΎΠ±ΡΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
Π‘ΠΏΠΈΡΠΊΠΈ
Π Doxygen, ΡΠΏΠΈΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π³Π΄Π΅ ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠ°ΡΡΠ΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ³ Π±ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΡΠ²Π΅Π΄Π΅Π½ Π² HTML-ΡΠΎΡΠΌΠ°ΡΠ΅:
Π‘Π΅ΠΊΡΠΈΡ Β«Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅Β»
The @see directive may be used to link to (existing) functions, files, classes, methods, constants, groups/topics, URLs, etc. @see directives should always be placed on their own line, and generally at the bottom of the documentation header. Use the same format in @see that you would for automatic links (see below, or see examples above). In addition, you can link to a group/topic using the internal name of the group (what follows the @defgroup in its definition).
Π‘ΡΡΠ»ΠΊΠΈ
The @link. @endlink directive may be used to output a HTML link in line with the text. Some notes:
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ
Any function, file, constant, class, etc. in the documentation will automatically be linked to the page where that item is documented (assuming that item has a doxygen header). For functions and methods, you must include () after the function/method name to get the link. For files, just put the file name in (not the path to the file). Groups will not be automatically linked; use @see or @link.
ΠΠ±ΡΠ°Π·ΡΡ ΠΊΠΎΠ΄Π°
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Doxygen Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ² @code ΠΈ @endcode. ΠΡΠ±ΠΎΠΉ ΠΊΠΎΠ΄ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ.
ΠΠ»Π°Π½ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
To document known issues and development tasks in code, @todo statements may be used. Notes:
@todo statements in inline comments follow the same rules as above, especially regarding indentation of subsequent comments, but you don’t need to leave a blank line between other comments and the @todo line.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ. ΠΡΠΈΠΌΠ΅Ρ:
Note that a blank line should follow a @file documentation block.
Π‘ΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄ΡΡ ΡΡΠ°Π·Ρ Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ @file, ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π³Π»Π°Π³ΠΎΠ»Π°, ΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ²Β». ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠ΄ΡΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΠΎΠ±ΡΠ΅, Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° @file Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π»ΡΡΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ @defgroup. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ (ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΌ/Π³ΡΡΠΏΠΏ API ΡΠ΄ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ http://api.drupal.org/api/drupal/groups).
ΠΠ»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½:
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΠΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ. ΠΠ»ΠΎΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΅ΠΉ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΊ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ
If there is no return value, omit the @return directive entirely. ΠΡΠ°ΡΠΊΠ°Ρ ΡΠΎΡΠΌΠ° Functions that are easily described in one line may use the function summary only, for example:
If the abbreviated syntax is used, the parameters and return value must be described within the one-line summary. Data types on param/return Note: This section of the standard was adopted as of Drupal 8. In previous versions, data type specification was recommended in the case of non-obvious types or specific classes/interfaces only.
The data type of a parameter or return value MUST be specified in @param or @return directives, if it is not obvious or of a specific class or interface type.
The data type MAY be specified (as in: recommended) for other @param or @return directives, including those with primitive data types, arrays, and generic objects (stdClass).
This line should indicate which PHP or Drupal function directly takes this callback as an argument, and also which Drupal API function calls that function. If multiple API functions call it, format as a list.
Note that there are also specific standards for some functions that might be considered callbacks, such as hook implementations, menu callbacks, and form callbacks.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Ρ ΡΠΊΠΎΠ²
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Ρ ΡΠΊΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΡΡΠΎ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ (ΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΡΡΠ΅) Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π³Π»Π°Π³ΠΎΠ» Π² ΠΏΠΎΠ²Π΅Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠ· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΡΠΊΠ° Π² ΠΌΠΎΠ΄ΡΠ»Π΅ ΡΠ΄ΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ ΠΎΡΠΊΡΠ΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠΊ.
Documenting hook implementations and theme preprocess functions
If the implementation of a hook is rather standard and does not require more explanation than the hook reference provides, a shorthand documentation form may be used in place of the full function documentation block described above:
This generates a link to the hook reference, reminds the developer that this is a hook implementation, and avoids having to document parameters and return values that are the same for every implementation of the hook.
In the case of hooks that have variables in the names, such as hook_form_FORM_ID_alter(), a slightly expanded syntax should be used:
This generates a link to the hook reference, as well as to the particular form that is being altered. Again, optionally you can add more information in a separate paragraph to describe the particular quirks of your hook implementation.
Theme preprocess functions work the same as hook_form_FORM_ID_alter(). Example:
For hook_update_N() implementations, there is a different standard, because the documentation’s first line is displayed to tell people what will happen (or did happen) when update.php is run. So they are documented as follows:
Note that the first line should start with an imperative verb, so it will make sense to people running update.php.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΡ ΡΠΎΡΠΌΡ
/**
* Form validation handler for user_login_form().
*
* @see user_login_form_submit()
*/
function user_login_form_validate($form, &$form_state) <
.
>
/**
* Form submission handler for user_login_form().
*
* @see user_login_form_validate()
*/
function user_login_form_submit($form, &$form_state) <
.
>
If the form generates a page (i.e., in a hook_menu() implementation, the page callback is ‘drupal_get_form’ and the page argument is this form), include an @see reference to the hook_menu() implementation that uses it.
Documenting Render API callbacks
The Render API uses various callbacks functions, which you can assign to a render element when setting up a render array (or a form). Document them as follows:
ΠΡΠΎΡ Π±Π»ΠΎΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Π»Ρ ΠΡΡΠΏΠ°Π»Π° 8.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ΅ΠΌΠΈΠ·Π°ΡΠΈΠΈ
In order to provide a quick reference for themers, we tag all themeable functions so that Doxygen can group them together. A themeable function is defined as any function meant to be called via theme(), and you can indicate that a function is themeable by adding an @ingroup themeable directive. It is also beneficial to use @see directives to link the theme function with its preprocessing functions.
In the rare case that your theme function returns some other type of formatted output other than HTML, you should add a @return directive with a description of what the function generates and returns.
See also the hook implementations section for how to document preprocess functions.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠ΅ΠΌ
If a template file (themeablename.tpl.php) and a preprocess function is used instead of a theming function, both the template file and the preprocessing function need to be documented. The template file should be documented with a @file directive, should have @ingroup themeable in the file documentation header, and should contain a list of the variables that the template_preprocess_HOOK has prepared for it. If any of these variables contain data that is unsafe to output for XSS reasons, that should be documented; otherwise it can be assumed that variables available have already been appropriately filtered. Anything not listed should not be assumed to be safe to output. It should also contain a @see directive to link back to the preprocessing function.
See also the hook implementations section for how to document preprocess functions.
Documenting hook_menu() callbacks
(This standard was adopted for Drupal version 8.x.) The page, access, title, and other callbacks that are registered in hook_menu() are documented as follows:
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Constants, global variables, and member variables of classes should have documentation blocks. As usual, the documentation block should start with a one-line description, and any additional needed documentation should be separated from the summary line by a blank line (though usually only one line is needed).
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
Each class and interface should have a doxygen documentation block, and each member variable, constant, and function/method within the class or interface should also have its own documentation block. Example:
/**
* Defines a common interface for a prepared statement.
*/
interface DatabaseStatementInterface extends Traversable <
/**
* Represents a prepared statement.
*
* Default implementation of DatabaseStatementInterface.
*/
class DatabaseStatementBase extends PDOStatement implements DatabaseStatementInterface <
/**
* Returns the foo information.
*
* @return object
* The foo information as an object.
*
* @throws MyFooUndefinedException
*/
public function getFoo () <
// Function body here.
>
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΡΡΠΏΠΏ/ΡΠ΅ΠΌ
You can make «Topics» pages by defining a «group», also known as a «module» in Doxygen terminology. We use topic/group pages to group functions that form an API that is meant to be used by multiple modules. Do not define a topic/group for functions that are internal to a particular file or module. See http://api.drupal.org/api/drupal/groups for a list of existing API topics/groups in Drupal Core.
Here is the basic syntax for defining a group:
The @defgroup line gives the name of the group that will be used in the URL, and then the name that will be used as the page title and in the Topics listing. Any text within the @defgroup’s own doxygen header appears as text on the topic page.
If you put the group definition immediately before one or more functions that belong in the group, you can automatically add functions to the group by using this syntax:
/**
* @defgroup group_identifier Name of the group for Topics page
* @<
* One line, one sentence description of the topic/group.
*
* One or more additional paragraphs of information, which will appear
* on the topic page.
*/
// Functions here are automatically added to the group.
/**
* @> End of «defgroup group_identifier».
*/
If you have functions that need to be added to a group whose definition is not right above the functions, there are two ways to do it:
before the functions, and
after the group of functions.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΠΎΠ²Π΅ΡΡ
Drupal’s Doxygen processing module, API module, currently only supports a small subset of all Doxygen commands and makes some assumptions about the formatting of the source. Code to be processed by api.module is advised to stick to these conventions.
The API module currently supports only one of Doxygen’s three grouping mechanisms: Modules (@defgroup, @ingroup, @addtogroup, @<, @>). See groups section above for more information on how we use modules/groups.