ΠΡΡΠ°ΡΠΈΠ²Π°ΠΉ Π½Π°Π²ΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΠΊΠΈ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π ΡΡΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠΎΠ±ΡΠ°Π½Ρ Π·Π°Π΄Π°ΡΠΈ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡΡΡ ΠΊ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡΠΌ.
ΠΠΌΠ΅ΡΡΠ΅ Ρ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° JavaScript.
- Π£Π±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ git ΠΈ node v10.13.0+ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅
- Π‘ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
- Π ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΠΈΠ· ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΠΈ
npm install
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ!
ΠΠ°Π΄Π°ΡΠΈ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ /problems. ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π° Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ .js
ΡΠ°ΠΉΠ»Π°.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ:
- ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Ρ
- ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π°Π΄Π°ΡΠΈ
- ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ
- JSDoc Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
- ΠΠ°Π³Π»ΡΡΠΊΠ° ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΈΡΠΈ ΡΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π΄Π΅ΡΡ
- ΠΠ½ΡΡΡΡΠΊΡΠΈΡ
module.exports = β¦
Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠ².
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ pre-commit. Π ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΡΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ ΠΎΡΠΎΡΠΌΠ»ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°, ΡΡΠΎΠ±Ρ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠ΅ΡΡΡ.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
npm run test
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ git ΡΡΠ°ΡΡΡ ΠΊΠΎΡΠΎΡΡΡ
not staged for commit
.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
npm run test:watch
ΠΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ, ΡΡΠΎ ΠΈ ΡΡΡΠ½Π°Ρ, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°.
ΠΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΡΠ΅Π½Π½ΡΡ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΡΠΎΡΠΌΠ»ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ. Pre-commit ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ git commit
. Π’Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΡ
Π² ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ°.
ΠΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ Π² IDE Visual Studio Code ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΏΠ°ΡΡ ΠΊΠ»ΠΈΠΊΠΎΠ²:
- Π ΠΌΠ΅Π½Ρ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ±ΡΠ°ΡΡ
View -> Debug
. Π‘Π»Π΅Π²Π° ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡ ΠΏΠ°Π½Π΅Π»Ρ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° - ΠΡΠ±ΡΠ°ΡΡ
Debug js-problems
ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° (Π²ΠΈΠ΄Π΅ΠΎΠ²Π΅ΡΡΠΈΡ) - Π§Π΅ΡΠ΅Π· ΠΌΠ΅Π½Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ
Debug -> Start Debugging
. git ΡΡΠ°ΡΡΡ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡnot staged for commit
.
ΠΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΡΡ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ. ΠΠ΅Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π² ΠΈΡ ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠΈΠ»Ρ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΠΉΡΠ°Ρ :
ΠΠ°ΠΊ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ ΡΡΡΡΠΊΠΎΡΠ·ΡΡΠ½ΡΠΉ ΡΠ±ΠΎΡΠ½ΠΈΠΊ Π·Π°Π΄Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ°ΠΉΡ "Π¨ΠΊΠΎΠ»Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°", Π½ΠΎ Π±Π΅Π· ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ JavaScript ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
ΠΡΠ±ΠΎΠΉ ΠΆΠ΅Π»Π°ΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΡΡ Π·Π°Π΄Π°Ρ Π² ΡΠ±ΠΎΡΠ½ΠΈΠΊ
- ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΡ-ΠΊΠ΅ΠΉΡΠΎΠ²
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΎΡΠΌΠ»ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π·Π°Π΄Π°Ρ.
ΠΡΠΎΠ΅ΠΊΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT.