JavaScriptã¢ãžã¥ãŒã«ã³ãŒãã«ãã¬ããžããã®ãã¹ãã¡ããªã¯ã¹ãããŒã«ããããŠå€æ§ãªç°å¢ã§å ç¢ãã€ä¿¡é Œæ§ã®é«ãWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®æŠç¥ãæ¢ããŸãã
JavaScriptã¢ãžã¥ãŒã«ã³ãŒãã«ãã¬ããžïŒå ç¢ãªã¢ããªã±ãŒã·ã§ã³ã®ããã®ãã¹ãã¡ããªã¯ã¹
çµ¶ããé²åããWebéçºã®äžçã«ãããŠãJavaScriptã¯åºç€ãšãªãèšèªã§ãã ã€ã³ã¿ã©ã¯ãã£ããªããã³ããšã³ãã€ã³ã¿ãŒãã§ãŒã¹ããNode.jsã«ããå ç¢ãªããã¯ãšã³ãã·ã¹ãã ãŸã§ãJavaScriptã®å€æ§æ§ã¯ã³ãŒãã®å質ãšä¿¡é Œæ§ãžã®ã³ãããã¡ã³ããèŠæ±ããŸãã ãããéæããããã®éèŠãªåŽé¢ã®äžã€ãã³ãŒãã«ãã¬ããžã§ããããã¯ããã¹ãã«ãã£ãŠã³ãŒãããŒã¹ã®ã©ãã ããå®è¡ãããŠãããã«ã€ããŠã®è²ŽéãªæŽå¯ãæäŸãããã¹ãã¡ããªã¯ã¹ã§ãã
ãã®å æ¬çãªã¬ã€ãã§ã¯ãJavaScriptã¢ãžã¥ãŒã«ã³ãŒãã«ãã¬ããžãæ¢æ±ãããã®éèŠæ§ãããŸããŸãªã¿ã€ãã®ã«ãã¬ããžã¡ããªã¯ã¹ã人æ°ã®ããŒã«ããããŠéçºã¯ãŒã¯ãããŒã«çµã¿èŸŒãããã®å®è·µçãªæŠç¥ãæãäžããŸãã ç§ãã¡ã¯äžçäžã®éçºè ãçŽé¢ãã倿§ãªç°å¢ãšèŠä»¶ãèæ ®ããã°ããŒãã«ãªèŠç¹ãç®æããŸãã
ã³ãŒãã«ãã¬ããžãšã¯ïŒ
ã³ãŒãã«ãã¬ããžã¯ãç¹å®ã®ãã¹ãã¹ã€ãŒããå®è¡ããããšãã«ãããã°ã©ã ã®ãœãŒã¹ã³ãŒããã©ã®çšåºŠå®è¡ãããããæž¬å®ãããã®ã§ããåºæ¬çã«ã¯ããã¹ãã«ãã£ãŠã³ãŒãã®äœããŒã»ã³ãããã«ããŒããããŠãããã瀺ããŸãã é«ãã³ãŒãã«ãã¬ããžã¯äžè¬çã«æªæ€åºã®ãã°ã®ãªã¹ã¯ãäœãããšã瀺ããŸããããã°ã®ãªãã³ãŒããä¿èšŒãããã®ã§ã¯ãªãããšãèŠããŠããããšãéèŠã§ãã 100%ã®ã«ãã¬ããžã§ãã£ãŠãããã¹ããæ£ããåäœãã¢ãµãŒãããŠããªãã£ãããèãããããã¹ãŠã®ãšããžã±ãŒã¹ãåŠçããŠããªãã£ããããå¯èœæ§ããããŸãã
ãã®ããã«èããŠã¿ãŠãã ãããéœåžã®å°å³ãæ³åããŠãã ããã ã³ãŒãã«ãã¬ããžã¯ãããªãã®è»ãã©ã®éããèµ°ã£ãããç¥ããããªãã®ã§ããé«ãããŒã»ã³ããŒãžã¯ãéœåžã®éè·¯ã®ã»ãšãã©ãæ¢çŽ¢ããããšãæå³ããŸãã ããããããã¯ãã¹ãŠã®å»ºç©ãèŠããããã¹ãŠã®äœæ°ãšäº€æµãããããããšãæå³ããããã§ã¯ãããŸããã åæ§ã«ãé«ãã³ãŒãã«ãã¬ããžã¯ãã¹ããã³ãŒãã®å€§éšåãå®è¡ããããšãæå³ããŸããããã¹ãŠã®ã·ããªãªã§ã³ãŒããæ£ããæ©èœããŠããããšãèªåçã«ä¿èšŒãããã®ã§ã¯ãããŸããã
ãªãã³ãŒãã«ãã¬ããžã¯éèŠãªã®ãïŒ
ã³ãŒãã«ãã¬ããžã¯ãJavaScriptéçºããŒã ã«ããã€ãã®éèŠãªå©ç¹ããããããŸãã
- ãã¹ããããŠããªãã³ãŒãã®ç¹å®ïŒ ã³ãŒãã«ãã¬ããžã¯ããã¹ãã«ãã¬ããžãäžååãªã³ãŒãããŒã¹ã®é åãæµ®ã圫ãã«ãããã°ãæœãã§ããå¯èœæ§ã®ããæ»è§ãæããã«ããŸããããã«ãããéçºè ã¯ãããã®éèŠãªã»ã¯ã·ã§ã³ã®ãã¹ãäœæãåªå ããããšãã§ããŸãã
- ãã¹ãã¹ã€ãŒãã®æå¹æ§ã®åäžïŒ ã³ãŒãã«ãã¬ããžã远跡ããããšã§ãæ¢åã®ãã¹ãã¹ã€ãŒãã®æå¹æ§ãè©äŸ¡ã§ããŸãã ã³ãŒãã®ç¹å®ã®éšåãã«ããŒãããŠããªãå Žåããã¹ããå¿ èŠãªãã¹ãŠã®æ©èœãå®è¡ããŠããªãããšã瀺ããŸãã
- ãã°å¯åºŠã®åæžïŒ ç¹å¹è¬ã§ã¯ãããŸããããã³ãŒãã«ãã¬ããžãé«ãã»ã©ãäžè¬çã«ãã°å¯åºŠã¯äœããªããŸãã ããå€ãã®ã³ãŒãããã¹ããããããšãä¿èšŒããããšã§ãéçºãµã€ã¯ã«ã®æ©ã段éã§ãšã©ãŒãçºèŠããå¯èœæ§ãé«ãŸããŸãã
- ãªãã¡ã¯ã¿ãªã³ã°ã®ä¿é²ïŒ ã³ãŒãããªãã¡ã¯ã¿ãªã³ã°ããéãã³ãŒãã«ãã¬ããžã¯ã»ãŒããã£ããããæäŸããŸãã ãªãã¡ã¯ã¿ãªã³ã°åŸãã³ãŒãã«ãã¬ããžãäžè²«ããŠããã°ã倿Žã«ãã£ãŠãªã°ã¬ãã·ã§ã³ãçºçããŠããªããšããèªä¿¡ãåŸãããŸãã
- ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã®ãµããŒãïŒ ã³ãŒãã«ãã¬ããžã¯ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒãã€ãã©ã€ã³ã«çµ±åã§ãããã«ãããšã«ã¬ããŒããèªåçæããŸãã ããã«ãããã³ãŒãã«ãã¬ããžãæç³»åã§è¿œè·¡ããåé¡ã瀺ãå¯èœæ§ã®ããã«ãã¬ããžã®äœäžãç¹å®ã§ããŸãã
- ã³ã©ãã¬ãŒã·ã§ã³ã®åŒ·åïŒ ã³ãŒãã«ãã¬ããžã¬ããŒãã¯ããããžã§ã¯ãã®ãã¹ãç¶æ³ã«é¢ããå ±éã®çè§£ãæäŸããéçºè éã®ããè¯ãã³ãã¥ãã±ãŒã·ã§ã³ãšã³ã©ãã¬ãŒã·ã§ã³ãä¿é²ããŸãã
eã³ããŒã¹ãã©ãããã©ãŒã ãæ§ç¯ããŠããããŒã ãèããŠã¿ãŸããããã³ãŒãã«ãã¬ããžããªããã°ã圌ãã¯èª€ã£ãŠæ±ºæžåŠçã¢ãžã¥ãŒã«ã«é倧ãªãã°ãããæ©èœããªãªãŒã¹ããŠããŸããããããŸããããã®ãã°ã¯ãååŒã®å€±æã顧客ã®äžæºã«ã€ãªããå¯èœæ§ããããŸãã ã³ãŒãã«ãã¬ããžãããã°ã決æžåŠçã¢ãžã¥ãŒã«ã®ã«ãã¬ããžã50%ãããªãããšãç¹å®ããããå æ¬çãªãã¹ããäœæããŠãæ¬çªç°å¢ã«å°éããåã«ãã°ãçºèŠããããšãã§ããŸãã
ã³ãŒãã«ãã¬ããžã¡ããªã¯ã¹ã®çš®é¡
ã³ãŒãã«ãã¬ããžã¡ããªã¯ã¹ã«ã¯ããã€ãã®ç°ãªãçš®é¡ãååšããããããããã¹ãã®æå¹æ§ã«ã€ããŠç¬èªã®èŠç¹ãæäŸããŸãããããã®ã¡ããªã¯ã¹ãçè§£ããããšã¯ãã³ãŒãã«ãã¬ããžã¬ããŒããè§£éãããã¹ãæŠç¥ã«ã€ããŠæ å ±ã«åºã¥ããæ±ºå®ãäžãããã«äžå¯æ¬ ã§ãã
- ã¹ããŒãã¡ã³ãã«ãã¬ããžïŒ ããã¯æãåºæ¬çãªã¿ã€ãã®ã³ãŒãã«ãã¬ããžã§ãã³ãŒãå ã®åã¹ããŒãã¡ã³ããå°ãªããšã1åå®è¡ããããã©ãããæž¬å®ããŸããã¹ããŒãã¡ã³ããšã¯ãä»£å ¥ã颿°åŒã³åºããªã©ã®åäžè¡ã®ã³ãŒãã§ãã
- ãã©ã³ãã«ãã¬ããžïŒ ãã©ã³ãã«ãã¬ããžã¯ãã³ãŒãå ã®åå¯èœãªãã©ã³ããå®è¡ããããã©ãããæž¬å®ããŸãããã©ã³ããšã¯ã`if`æã`switch`æããŸãã¯ã«ãŒããªã©ã®æ±ºå®ç¹ã§ãã äŸãã°ã`if`æã«ã¯`then`ãã©ã³ããš`else`ãã©ã³ãã®2ã€ã®ãã©ã³ãããããŸãã
- 颿°ã«ãã¬ããžïŒ ãã®ã¡ããªã¯ã¹ã¯ãã³ãŒãå ã®å颿°ãå°ãªããšã1ååŒã³åºããããã©ããã远跡ããŸãã
- ã©ã€ã³ã«ãã¬ããžïŒ ã¹ããŒãã¡ã³ãã«ãã¬ããžãšåæ§ã«ãã©ã€ã³ã«ãã¬ããžã¯ã³ãŒãã®åè¡ãå®è¡ããããã©ããããã§ãã¯ããŸããããããããã¯ãã°ãã°ã¹ããŒãã¡ã³ãã«ãã¬ããžãããç²åºŠãé«ããçè§£ããããã§ãã
- ãã¹ã«ãã¬ããžïŒ ããã¯æãå æ¬çãªã¿ã€ãã®ã³ãŒãã«ãã¬ããžã§ãã³ãŒããéããã¹ãŠã®å¯èœãªãã¹ãå®è¡ããããã©ãããæž¬å®ããŸãã ãã¹ã«ãã¬ããžã¯ãå¯èœãªãã¹ã®æ°ãææ°é¢æ°çã«å¢å ãããããè€éãªããã°ã©ã ã§éæããã®ã¯ãã°ãã°éçŸå®çã§ãã
- æ¡ä»¶ã«ãã¬ããžïŒ ãã®ã¡ããªã¯ã¹ã¯ãæ¡ä»¶å ã®åããŒã«éšååŒãçãšåœã®äž¡æ¹ã§è©äŸ¡ããããã©ããããã§ãã¯ããŸããäŸãã°ã`(a && b)`ãšããæ¡ä»¶ã§ã¯ãæ¡ä»¶ã«ãã¬ããžã¯`a`ãçãšåœã®äž¡æ¹ã§ããã`b`ãçãšåœã®äž¡æ¹ã§ããããšãä¿èšŒããŸãã
ç°¡åãªäŸã§èª¬æããŸãããã
```javascript function calculateDiscount(price, hasCoupon) { if (hasCoupon) { return price * 0.9; } else { return price; } } ```100%ã®ã¹ããŒãã¡ã³ãã«ãã¬ããžãéæããã«ã¯ã`hasCoupon`ã`true`ã«èšå®ããŠ`calculateDiscount`ãåŒã³åºããã¹ãã±ãŒã¹ãšã`hasCoupon`ã`false`ã«èšå®ããŠåŒã³åºããã¹ãã±ãŒã¹ãå°ãªããšã1ã€ãã€å¿ èŠã§ããããã«ããã`if`ãããã¯ãš`else`ãããã¯ã®äž¡æ¹ãå®è¡ãããããšãä¿èšŒãããŸãã
100%ã®ãã©ã³ãã«ãã¬ããžãéæããã«ã¯ã`if`æã«ã¯2ã€ã®ãã©ã³ããããªãã¡`then`ãã©ã³ãïŒ`hasCoupon`ãtrueã®å ŽåïŒãš`else`ãã©ã³ãïŒ`hasCoupon`ãfalseã®å ŽåïŒããããããåã2ã€ã®ãã¹ãã±ãŒã¹ãå¿ èŠã«ãªããŸãã
JavaScriptã³ãŒãã«ãã¬ããžã®ããã®ããŒã«
JavaScriptãããžã§ã¯ãã§ã³ãŒãã«ãã¬ããžã¬ããŒããçæããããã®åªããããŒã«ãããã€ãå©çšå¯èœã§ãã 以äžã«æã人æ°ã®ãããªãã·ã§ã³ãããã€ã玹ä»ããŸãã
- Jest: Jestã¯Facebookã«ãã£ãŠéçºããããåºã䜿çšãããŠããJavaScriptãã¹ããã¬ãŒã ã¯ãŒã¯ã§ããçµã¿èŸŒã¿ã®ã³ãŒãã«ãã¬ããžæ©èœãæäŸããŠããã远å ã®èšå®ãå¿ èŠãšããã«ç°¡åã«ã¬ããŒããçæã§ããŸããJestã¯å éšã§Istanbulãã«ãã¬ããžåæã«äœ¿çšããŠããŸãã
- Istanbul (nyc): Istanbulã¯ãããŸããŸãªJavaScriptãã¹ããã¬ãŒã ã¯ãŒã¯ã§äœ¿çšã§ãã人æ°ã®ã³ãŒãã«ãã¬ããžããŒã«ã§ãã`nyc`ã¯Istanbulã®ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ã§ããããã¹ããå®è¡ããŠã«ãã¬ããžã¬ããŒããçæãã䟿å©ãªæ¹æ³ãæäŸããŸãã
- Mocha + Istanbul: Mochaã¯æè»ãªJavaScriptãã¹ããã¬ãŒã ã¯ãŒã¯ã§ãIstanbulãšçµã¿åãããŠã³ãŒãã«ãã¬ããžã¬ããŒããçæã§ããŸãã ãã®çµã¿åããã«ããããã¹ãç°å¢ãšã«ãã¬ããžèšå®ããã詳现ã«å¶åŸ¡ã§ããŸãã
- Cypress: äž»ã«ãšã³ãããŒãšã³ãã®ãã¹ããã¬ãŒã ã¯ãŒã¯ã§ãããCypressãã³ãŒãã«ãã¬ããžæ©èœãæäŸããŠããããšã³ãããŒãšã³ããã¹ãäžã«ã«ãã¬ããžã远跡ã§ããŸããããã¯ããŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãé©åã«ã«ããŒãããŠããããšã確èªããã®ã«ç¹ã«åœ¹ç«ã¡ãŸãã
Jestã䜿çšããäŸïŒ
Jestãããžã§ã¯ããã»ããã¢ãããããŠãããšä»®å®ããŠãJestã³ãã³ãã«`--coverage`ãã©ã°ã远å ããããšã§ã³ãŒãã«ãã¬ããžãæå¹ã«ã§ããŸãã
```bash npm test -- --coverage ```ããã«ãããã¹ããå®è¡ããã`coverage`ãã£ã¬ã¯ããªã«ã³ãŒãã«ãã¬ããžã¬ããŒããçæãããŸãã ã¬ããŒãã«ã¯ãå šäœã®ã«ãã¬ããžã®æŠèŠãšãåãã¡ã€ã«ã®è©³çްãªã¬ããŒããå«ãŸããŸãã
nycãšMochaã䜿çšããäŸïŒ
ãŸãã`nyc`ãšMochaãã€ã³ã¹ããŒã«ããŸãã
```bash npm install --save-dev mocha nyc ```次ã«ã`nyc`ã§ãã¹ããå®è¡ããŸãã
```bash nyc mocha ```ããã«ããMochaãã¹ããå®è¡ãããIstanbulã䜿çšããŠã³ãŒãã«ãã¬ããžã¬ããŒããçæãããŸãã`nyc`ãã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ãšã¬ããŒãçæãåŠçããŸãã
ã³ãŒãã«ãã¬ããžãåäžãããããã®æŠç¥
é«ãã³ãŒãã«ãã¬ããžãéæããã«ã¯ããã¹ãã«å¯ŸããæŠç¥çãªã¢ãããŒããå¿ èŠã§ãã 以äžã¯ãJavaScriptãããžã§ã¯ãã§ã³ãŒãã«ãã¬ããžãåäžãããããã®ãã¹ããã©ã¯ãã£ã¹ã§ãã
- ãŠããããã¹ããæžãïŒ ãŠããããã¹ãã¯é«ãã³ãŒãã«ãã¬ããžãéæããããã«äžå¯æ¬ ã§ãã ããã«ãããåã ã®é¢æ°ãã¢ãžã¥ãŒã«ãåé¢ããŠãã¹ãããã³ãŒãã®åéšåã培åºçã«å®è¡ãããããšãä¿èšŒã§ããŸãã
- çµ±åãã¹ããæžãïŒ çµ±åãã¹ãã¯ãã·ã¹ãã ã®ç°ãªãéšåãæ£ãã飿ºããŠåäœããããšã確èªããŸãã ã¢ãžã¥ãŒã«éãå€éšäŸåé¢ä¿ãšã®çžäºäœçšãã«ããŒããããã«éèŠã§ãã
- ãšã³ãããŒãšã³ããã¹ããæžãïŒ ãšã³ãããŒãšã³ããã¹ãã¯ãã¢ããªã±ãŒã·ã§ã³ãšã®å®éã®ãŠãŒã¶ãŒã€ã³ã¿ã©ã¯ã·ã§ã³ãã·ãã¥ã¬ãŒãããŸãã ãŠãŒã¶ãŒãããŒå šäœãã«ããŒãããŠãŒã¶ãŒã®èŠç¹ããã¢ããªã±ãŒã·ã§ã³ãæåŸ ã©ããã«åäœããããšã確èªããããã«éèŠã§ãã
- ãã¹ãé§åéçºïŒTDDïŒïŒ TDDã¯ãã³ãŒããæžãåã«ãã¹ããæžãéçºããã»ã¹ã§ãã ããã«ããããã¹ãã®èгç¹ããã³ãŒãã®èŠä»¶ãšèšèšã«ã€ããŠèããããšã匷ããããããè¯ããã¹ãã«ãã¬ããžã«ã€ãªãããŸãã
- ããã€ãã¢é§åéçºïŒBDDïŒïŒ BDDã¯ããŠãŒã¶ãŒã¹ããŒãªãŒã®èгç¹ããã¢ããªã±ãŒã·ã§ã³ã®æ¯ãèããå®çŸ©ããããšã«çŠç¹ãåœãŠãéçºããã»ã¹ã§ãã ããã«ããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«çŠç¹ãåœãŠããã¹ããæžãããšãã§ããããæå³ã®ãããã¹ãã«ãã¬ããžã«ã€ãªãããŸãã
- ãšããžã±ãŒã¹ã«çŠç¹ãåœãŠãïŒ ããããŒãã¹ã ãããã¹ãããªãã§ãã ããã ãšããžã±ãŒã¹ãå¢çæ¡ä»¶ããšã©ãŒãã³ããªã³ã°ã®ã·ããªãªãã«ããŒããããã«ããŠãã ããã ãããã¯ãã°ãæãçºçããããé åã§ããããšãå€ãã§ãã
- ã¢ãã¯ãšã¹ã¿ãã䜿çšããïŒ ã¢ãã¯ãšã¹ã¿ãã䜿çšãããšãäŸåé¢ä¿ãå¶åŸ¡ããã代æ¿ç©ã«çœ®ãæããããšã§ãã³ãŒãã®ãŠããããåé¢ã§ããŸããããã«ãããåã ã®é¢æ°ãã¢ãžã¥ãŒã«ãåé¢ããŠãã¹ããããããªããŸãã
- 宿çã«ã³ãŒãã«ãã¬ããžã¬ããŒãã確èªããïŒ å®æçã«ã³ãŒãã«ãã¬ããžã¬ããŒãã確èªããç¿æ £ãã€ããŸãããã ã«ãã¬ããžãäœãé åãç¹å®ãããããã®é åã®ãã¹ããæžãããšãåªå ããŸãã
- ã«ãã¬ããžç®æšãèšå®ããïŒ ãããžã§ã¯ãã«çŸå®çãªã³ãŒãã«ãã¬ããžç®æšãèšå®ããŸãã 100%ã®ã«ãã¬ããžã¯ãã°ãã°éæäžå¯èœãŸãã¯éçŸå®çã§ãããã³ãŒãããŒã¹ã®éèŠãªéšåã«å¯ŸããŠé«ãã¬ãã«ã®ã«ãã¬ããžïŒäŸïŒ80-90%ïŒãç®æããŸãã
- CI/CDã«ã³ãŒãã«ãã¬ããžãçµ±åããïŒ ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ããã³ç¶ç¶çããªããªãŒïŒCI/CDïŒãã€ãã©ã€ã³ã«ã³ãŒãã«ãã¬ããžãçµ±åããŸãã ããã«ãããåãã«ãã§ã³ãŒãã«ãã¬ããžãèªåçã«è¿œè·¡ãããªã°ã¬ãã·ã§ã³ãæ¬çªç°å¢ã«ãããã€ãããã®ãé²ãããšãã§ããŸãã JenkinsãGitLab CIãCircleCIãªã©ã®ããŒã«ã¯ãã³ãŒãã«ãã¬ããžããŒã«ãå®è¡ããã«ãã¬ããžãç¹å®ã®ãããå€ãäžåã£ãå Žåã«ãã«ãã倱æãããããã«èšå®ã§ããŸãã
äŸãã°ãã¡ãŒã«ã¢ãã¬ã¹ãæ€èšŒãã颿°ãèããŠã¿ãŸãããã
```javascript function isValidEmail(email) { if (!email) { return false; } if (!email.includes('@')) { return false; } if (!email.includes('.')) { return false; } return true; } ```ãã®é¢æ°ã®è¯å¥œãªã³ãŒãã«ãã¬ããžãéæããã«ã¯ã次ã®ã·ããªãªããã¹ãããå¿ èŠããããŸãã
- ã¡ãŒã«ãnullãŸãã¯undefinedã®å Žå
- ã¡ãŒã«ã«`@`èšå·ãå«ãŸããŠããªãå Žå
- ã¡ãŒã«ã«`.`èšå·ãå«ãŸããŠããªãå Žå
- ã¡ãŒã«ãæå¹ãªã¡ãŒã«ã¢ãã¬ã¹ã§ããå Žå
ããããã¹ãŠã®ã·ããªãªããã¹ãããããšã§ã颿°ãæ£ããåäœããŠããããšããããŠè¯å¥œãªã³ãŒãã«ãã¬ããžãéæããããšã確èªã§ããŸãã
ã³ãŒãã«ãã¬ããžã¬ããŒãã®è§£é
ã³ãŒãã«ãã¬ããžã¬ããŒãã¯éåžžãå šäœã®ã«ãã¬ããžã®æŠèŠãšãåãã¡ã€ã«ã®è©³çްãªã¬ããŒããæäŸããŸãã ã¬ããŒãã«ã¯éåžžãæ¬¡ã®æ å ±ãå«ãŸããŸãã
- ã¹ããŒãã¡ã³ãã«ãã¬ããžçïŒ å®è¡ãããã¹ããŒãã¡ã³ãã®å²åã
- ãã©ã³ãã«ãã¬ããžçïŒ å®è¡ããããã©ã³ãã®å²åã
- 颿°ã«ãã¬ããžçïŒ åŒã³åºããã颿°ã®å²åã
- ã©ã€ã³ã«ãã¬ããžçïŒ å®è¡ãããè¡ã®å²åã
- ã«ããŒãããŠããªãè¡ïŒ å®è¡ãããŠããªãè¡ã®ãªã¹ãã
- ã«ããŒãããŠããªããã©ã³ãïŒ å®è¡ãããŠããªããã©ã³ãã®ãªã¹ãã
ã³ãŒãã«ãã¬ããžã¬ããŒããè§£éããéã«ã¯ãã«ããŒãããŠããªãè¡ãšãã©ã³ãã«çŠç¹ãåœãŠãããšãéèŠã§ãã ãããã¯ãããå€ãã®ãã¹ããæžãå¿ èŠãããé åã§ãã ããããã³ãŒãã«ãã¬ããžãå®ç§ãªææšã§ã¯ãªãããšãèŠããŠããããšãéèŠã§ãã 100%ã®ã«ãã¬ããžã§ãã£ãŠããã³ãŒãã«ãã°ãååšããå¯èœæ§ããããŸãã ãããã£ãŠãã³ãŒãã«ãã¬ããžããã³ãŒãã®å質ãä¿èšŒããããã®å€ãã®ããŒã«ã®1ã€ãšããŠäœ¿çšããããšãéèŠã§ãã
è€éãªé¢æ°ãå ¥ãçµãã ããžãã¯ãæã€ã¢ãžã¥ãŒã«ã«ã¯ç¹ã«æ³šæãæã£ãŠãã ããããããã¯é ãããã°ãå«ãã§ããå¯èœæ§ãé«ãã§ããã³ãŒãã«ãã¬ããžã¬ããŒãã䜿çšããŠãã¹ãã®åãçµã¿ãå°ããã«ãã¬ããžçãäœãé åãåªå ããŠãã ããã
ããŸããŸãªç°å¢ã«ãããã³ãŒãã«ãã¬ããž
JavaScriptã³ãŒãã¯ããã©ãŠã¶ãNode.jsãã¢ãã€ã«ããã€ã¹ãªã©ãããŸããŸãªç°å¢ã§å®è¡ã§ããŸãã ã³ãŒãã«ãã¬ããžãžã®ã¢ãããŒãã¯ãç°å¢ã«ãã£ãŠè¥å¹²ç°ãªãå ŽåããããŸãã
- ãã©ãŠã¶ïŒ ãã©ãŠã¶ã§JavaScriptã³ãŒãããã¹ãããå ŽåãKarmaãCypressãªã©ã®ããŒã«ã䜿çšããŠãã¹ããå®è¡ããã³ãŒãã«ãã¬ããžã¬ããŒããçæã§ããŸãããããã®ããŒã«ã¯éåžžããã©ãŠã¶å ã®ã³ãŒããèšè£ ããŠãã©ã®è¡ãšãã©ã³ããå®è¡ããããã远跡ããŸãã
- Node.jsïŒ Node.jsã§JavaScriptã³ãŒãããã¹ãããå ŽåãJestãMochaãIstanbulãªã©ã®ããŒã«ã䜿çšããŠãã¹ããå®è¡ããã³ãŒãã«ãã¬ããžã¬ããŒããçæã§ããŸãããããã®ããŒã«ã¯éåžžãV8ã®ã³ãŒãã«ãã¬ããžAPIã䜿çšããŠãã©ã®è¡ãšãã©ã³ããå®è¡ããããã远跡ããŸãã
- ã¢ãã€ã«ããã€ã¹ïŒ ã¢ãã€ã«ããã€ã¹ïŒäŸïŒReact NativeãIonicã䜿çšïŒã§JavaScriptã³ãŒãããã¹ãããå ŽåãJestãDetoxãªã©ã®ããŒã«ã䜿çšããŠãã¹ããå®è¡ããã³ãŒãã«ãã¬ããžã¬ããŒããçæã§ããŸããã³ãŒãã«ãã¬ããžãžã®ã¢ãããŒãã¯ããã¬ãŒã ã¯ãŒã¯ããã¹ãç°å¢ã«ãã£ãŠç°ãªãå ŽåããããŸãã
ç°å¢ã«é¢ä¿ãªããã³ãŒãã«ãã¬ããžã®åºæ¬ååã¯åãã§ããå æ¬çãªãã¹ããæžãããšããžã±ãŒã¹ã«çŠç¹ãåœãŠã宿çã«ã³ãŒãã«ãã¬ããžã¬ããŒãã確èªããããšã§ãã
äžè¬çãªèœãšã穎ãšèæ ®äºé
ã³ãŒãã«ãã¬ããžã¯è²ŽéãªããŒã«ã§ããããã®éçãšæœåšçãªèœãšã穎ãèªèããããšãéèŠã§ãã
- 100%ã®ã«ãã¬ããžã¯åžžã«å¿ èŠãŸãã¯éæå¯èœãšã¯éããªãïŒ 100%ã®ã³ãŒãã«ãã¬ããžãç®æãããšã¯æéãããããå¿ ããããªãœãŒã¹ã®æã广çãªäœ¿ãæ¹ã§ã¯ãªãå ŽåããããŸããã³ãŒãããŒã¹ã®éèŠãªéšåã«å¯ŸããŠé«ãã«ãã¬ããžãéæããããšã«çŠç¹ãåœãŠãè€éãªããžãã¯ããšããžã±ãŒã¹ã®ãã¹ããåªå ããŠãã ããã
- ã³ãŒãã«ãã¬ããžã¯ãã°ã®ãªãã³ãŒããä¿èšŒããªãïŒ 100%ã®ã³ãŒãã«ãã¬ããžã§ãã£ãŠããã³ãŒãã«ãã°ãååšããå¯èœæ§ããããŸããã³ãŒãã«ãã¬ããžã¯ãã©ã®è¡ãšãã©ã³ããå®è¡ããããã瀺ãã ãã§ãã³ãŒããæ£ããåäœããŠãããã©ããã¯ç€ºããŸããã
- åçŽãªã³ãŒãã®éå°ãªãã¹ãïŒ ãã°ãå«ãå¯èœæ§ã®äœãäºçްãªã³ãŒãã®ãã¹ãã«æéãæµªè²»ããªãã§ãã ãããè€éãªããžãã¯ããšããžã±ãŒã¹ã®ãã¹ãã«çŠç¹ãåœãŠãŠãã ããã
- çµ±åãã¹ããšãšã³ãããŒãšã³ããã¹ãã®ç¡èŠïŒ ãŠããããã¹ãã¯éèŠã§ãããããã ãã§ã¯äžååã§ããã·ã¹ãã ã®ç°ãªãéšåãæ£ãã飿ºããŠåäœããããšã確èªããããã«ãçµ±åãã¹ããšãšã³ãããŒãšã³ããã¹ããå¿ ãæžããŠãã ããã
- ã³ãŒãã«ãã¬ããžãç®æšèªäœãšããŠæ±ãïŒ ã³ãŒãã«ãã¬ããžã¯ããè¯ããã¹ããæžãããã®ããŒã«ã§ãããç®æšèªäœã§ã¯ãããŸãããé«ãã«ãã¬ããžæ°å€ãéæããããšã ãã«éäžããªãã§ãã ããã代ããã«ãã³ãŒãã培åºçã«å®è¡ããæå³ã®ãããã¹ããæžãããšã«çŠç¹ãåœãŠãŠãã ããã
- ã¡ã³ããã³ã¹ã®ãªãŒããŒãããïŒ ãã¹ãã¯ã³ãŒãããŒã¹ã®é²åãšãšãã«ç¶æããå¿ èŠããããŸãããã¹ããå®è£ ã®è©³çްã«å¯çµåããŠãããšãé »ç¹ã«å£ããæŽæ°ã«å€å€§ãªåŽåãå¿ èŠã«ãªããŸããå éšå®è£ ã§ã¯ãªããã³ãŒãã®èŠ³æž¬å¯èœãªæ¯ãèãã«çŠç¹ãåœãŠããã¹ããæžããŠãã ããã
ã³ãŒãã«ãã¬ããžã®æªæ¥
ã³ãŒãã«ãã¬ããžã®åéã¯åžžã«é²åããŠãããæ°ããããŒã«ãæè¡ã次ã ãšç»å ŽããŠããŸãã ã³ãŒãã«ãã¬ããžã®æªæ¥ã圢äœããã¬ã³ãã®ããã€ãã以äžã«ç€ºããŸãã
- ããŒã«ã®æ¹åïŒ ã³ãŒãã«ãã¬ããžããŒã«ã¯ããæŽç·ŽãããŠããŠãããããè¯ãã¬ããŒãäœæãåæãä»ã®éçºããŒã«ãšã®çµ±åãæäŸããŠããŸãã
- AIã«ãããã¹ãïŒ äººå·¥ç¥èœïŒAIïŒããã¹ããèªåçæããã³ãŒãã«ãã¬ããžãäœãé åãç¹å®ããããã«äœ¿çšãããŠããŸãã
- ãã¥ãŒããŒã·ã§ã³ãã¹ãïŒ ãã¥ãŒããŒã·ã§ã³ãã¹ãã¯ãã³ãŒãã«å°ããªå€æŽïŒãã¥ãŒããŒã·ã§ã³ïŒãå°å ¥ãããã¹ããå®è¡ããŠå€æŽãæ€åºã§ãããã©ããã確èªããææ³ã§ãã ããã«ããããã¹ãã®å質ãè©äŸ¡ãããã¹ãã匱ãé åãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
- éçè§£æãšã®çµ±åïŒ ã³ãŒãã«ãã¬ããžã¯éçè§£æããŒã«ãšçµ±åãããã³ãŒãå質ã®ããå æ¬çãªãã¥ãŒãæäŸããŠããŸããéçè§£æããŒã«ã¯ã³ãŒãå ã®æœåšçãªãã°ãè匱æ§ãç¹å®ã§ããã³ãŒãã«ãã¬ããžã¯ãã¹ããã³ãŒããé©åã«å®è¡ããŠããããšã確èªããã®ã«åœ¹ç«ã¡ãŸãã
çµè«
JavaScriptã¢ãžã¥ãŒã«ã³ãŒãã«ãã¬ããžã¯ãå ç¢ã§ä¿¡é Œæ§ã®é«ãWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®äžå¯æ¬ ãªãã©ã¯ãã£ã¹ã§ããããŸããŸãªçš®é¡ã®ã«ãã¬ããžã¡ããªã¯ã¹ãçè§£ããé©åãªããŒã«ã掻çšãã广çãªãã¹ãæŠç¥ãå®è£ ããããšã§ãéçºè ã¯ã³ãŒãã®å質ãå€§å¹ ã«åäžããããã°ã®ãªã¹ã¯ãæžããããšãã§ããŸãã ã³ãŒãã«ãã¬ããžã¯ããºã«ã®äžçã«ããããã³ãŒãã¬ãã¥ãŒãéçè§£æãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãªã©ã®ä»ã®å質ä¿èšŒãã©ã¯ãã£ã¹ãšäœµçšããå¿ èŠãããããšãå¿ããªãã§ãã ãããã°ããŒãã«ãªèŠç¹ãåãå ¥ããJavaScriptã³ãŒããåäœãã倿§ãªç°å¢ãèæ ®ããããšã§ãã³ãŒãã«ãã¬ããžã®åãçµã¿ã®å¹æãããã«é«ãŸããŸãã
ãããã®ååãäžè²«ããŠé©çšããããšã§ãäžçäžã®éçºããŒã ã¯ã³ãŒãã«ãã¬ããžã®åãæŽ»çšããŠãã°ããŒãã«ãªèŠèŽè ã®ããŒãºãæºããé«å質ã§ä¿¡é Œæ§ã®é«ãJavaScriptã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã