Luxoft Tech Talks β ΡΡΠΎ Π½ΠΎΠ²Π°Ρ ΡΠ΅ΡΠΈΡ Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΡΡ Π²ΠΈΠ΄Π΅ΠΎ-ΠΏΠΎΠ΄ΠΊΠ°ΡΡΠΎΠ² Π½Π° Π½Π°ΡΠ΅ΠΌ YouTube-ΠΊΠ°Π½Π°Π»Π΅, Π² ΠΊΠΎΡΠΎΡΡΡ IT-Π³ΡΡΡ ΠΈΠ· Luxoft ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π΅Π»ΡΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ, ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΡΠ΅Π½Π΄Ρ ΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΠΈΠ΄Π΅ΠΎ Π±ΡΠ΄ΡΡ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡΡ 1β2 ΡΠ°Π·Π° Π² ΠΌΠ΅ΡΡΡ.
Π‘Π΅ΠΉΡΠ°Ρ Π½Π° ΠΊΠ°Π½Π°Π»Π΅ ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ:
β’
ΠΠ°ΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π² 2010 Π³ΠΎΠ΄Ρ? ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π±ΡΠ» Git, Π΅ΡΠ»ΠΈ Π²Ρ Π²Π½Π΅Π΄ΡΠΈΠ»ΠΈ Π΅Π³ΠΎ Π½Π° ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°ΠΏΠ°Ρ , ΠΈΠ»ΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠ²Π΅ΡΠΆΠ΅Π½ΡΠ΅ΠΌ Linux. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Subversion, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ. Π‘ΠΏΡΡΡΡ Π΄Π΅ΡΡΡΡ Π»Π΅Ρ Git ΠΎΠ±ΠΎΠ³Π½Π°Π» ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ. ΠΠ΅Π²ΠΎΠ»ΡΠ½ΠΎ Π·Π°Π΄ΡΠΌΡΠ²Π°Π΅ΡΡΡΡ: Π° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π· Π΄Π΅ΡΡΡΡ Π»Π΅Ρ? Π ΡΡΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΌΡ ΠΏΠΎΡΠ°Π·ΠΌΡΡΠ»ΡΠ»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π±ΡΠ΄ΡΡ Π½ΡΠΆΠ½Ρ Π² 2030 Π³ΠΎΠ΄Ρ. ΠΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ? ΠΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ? ΠΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΡΠ»ΠΈΡΠ½ΠΈΡ (merge conflicts)?
β’
NativeScript β ΡΡΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Android ΠΈ iOS Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ JavaScript, Angular ΠΈΠ»ΠΈ Vue. Π ΡΡΠΎΠΌ Π²Π΅Π±ΠΈΠ½Π°ΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ NativeScript Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΡΠΎΡΠΎΠ½Ρ. ΠΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ:
- Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠΊΠΎΠ² JavaScript (V8 ΠΈ JavaScriptCore);
- ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±ΠΎΡΠΈΠΌΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ JavaScript ΠΈ Android/iOS Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Native API;
- ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Angular ΠΈ NativeScript.
β’
Π’Π΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°Π½Π½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΡΡΠ» Π½Π°Π±ΠΎΡ ΡΠ΅ΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅, ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ Π½Π΅ Π²ΠΎΡΠ»ΠΈ Π² ΡΠ΅ΡΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, Π° Π·Π½Π°ΡΠΈΡ ΠΈ ΠΎ Π²Π΅ΡΠΎΡΡΠ½ΡΡ ΡΡΡΠ΄Π½ΠΎΡΡΡΡ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°. Π ΡΡΠΎΠΉ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ Π Π΅ΠΊΡ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
- ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ (statement coverage);
- ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΏΠΎ Π²Π΅ΡΠΊΠ°ΠΌ ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (decision coverage);
- ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠΊΡΡΡΠΈΡ ΠΏΠΎ Π²Π΅ΡΠΊΠ°ΠΌ/ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ (modified condition/decision coverage);
- ΡΠΈΠΊΠ»ΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎ ΠΠ°ΠΊΠΊΠ΅ΠΉΠ±Ρ (McCabe Cyclomatic Complexity);
- ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΠΏΡΡΠ΅ΠΉ (basis path coverage).
Π Π΅ΠΊΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π»ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΡΠΎ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ .
ΠΡΠ±ΠΎΡ ΡΠ΅ΠΌ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠΈΡ
TechTalks Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°Ρ. ΠΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΡΠ΅ΠΌΡ Π²Π°ΠΌ Π±ΡΠ»ΠΈ Π±Ρ Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ? ΠΠΎΠ³ΠΎ ΠΈΠ· ΡΠΏΠΈΠΊΠ΅ΡΠΎΠ² Π²Ρ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² Π±ΡΠ΄ΡΡΠΈΡ
TechTalks? ΠΡΡΠ°Π²Π»ΡΠΉΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
Π²Π°ΡΠΈ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ ΠΈ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com