ãããã§ãã·ã§ãã«ãªã³ãŒããªãã¡ã¯ã¿ãªã³ã°ãµãŒãã¹ãæ©èœæ§ã倿Žããããšãªããã³ãŒãã®å質ãå¯èªæ§ãä¿å®æ§ãåäžãããã³ãŒãããŒã¹ã§ã®äœæ¥ãå¿«é©ã«ããŸãã
å§ãã
æªãã³ãŒãã¯ãã¹ãŠãé ãããŸããæ°æ©èœã®éçºã«ã¯æéããããããã°ã®ä¿®æ£ã¯å°é£ã«ãªããæ°ããéçºè ã®ãªã³ããŒãã£ã³ã°ãèŠçã§ããåœç€Ÿã¯ã³ãŒãããŒã¹ãäœç³»çã«ãªãã¡ã¯ã¿ãªã³ã°ããæ§é ãåœåããã¿ãŒã³ããã¹ãã«ãã¬ããžãæ¹åããªãããæ£ç¢ºãªæ©èœããªãã£ãç¶æããŸãããã®çµæãéçºé床ãåäžãããšã³ãžãã¢ã®æºè¶³åºŠãé«ãŸããŸãã
ç§ãã¡ã¯ãåé¡ã®ç¹å®ã«ã¯éçè§£æããŒã«ïŒESLintãSonarQubeãTypeScript compilerïŒããå®å šãªå€æã«ã¯èªåãªãã¡ã¯ã¿ãªã³ã°ããŒã«ããåäœã®æ€èšŒã«ã¯å æ¬çãªãã¹ãã¹ã€ãŒãã䜿çšããŸãããã¹ãŠã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ãç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³æ€èšŒã«ãã£ãŠæ®µéçã«è¡ãããŸãã
ã³ãŒãããŒã¹ã«é·å¹Žã®ã·ã§ãŒãã«ãããäžè²«æ§ã®ãªããè€éããèç©ãããéçºãé ãããŠããããŒã ããããšã³ãžãã¢ãã³ãŒãã®ç¹å®ã®éšåã§ã®äœæ¥ãå«ãããæ©èœéçºã«äºæ³ä»¥äžã«æéãããããåãé åã§ãã°ãç¹°ãè¿ãçºçããŠããå Žåããªãã¡ã¯ã¿ãªã³ã°ã¯ããã«ãã®äŸ¡å€ãçºæ®ããã§ãããã
ã³ãŒãå質ã¡ããªã¯ã¹ãåæãããããã¹ããããç¹å®ããè€éæ§ã枬å®ãããªãã¡ã¯ã¿ãªã³ã°ã¿ãŒã²ããã«åªå é äœãä»ããŸãã
éèŠãªãã¹ã®ç¹æ§ãã¹ããäœæããCIãã€ãã©ã€ã³ã確ç«ãããªãã¡ã¯ã¿ãªã³ã°ã®é åºãèšç»ããŸãã
å°èŠæš¡ã§ã¬ãã¥ãŒå¯èœãªPRã§ãªãã¡ã¯ã¿ãªã³ã°ãå®è¡ããŸã â åPRã¯ããŒãžåã«ãã¹ããšCIã«ãã£ãŠæ€èšŒãããŸãã
ãªã³ãã£ã³ã°ã«ãŒã«ãèšå®ããã¢ãŒããã¯ãã£ãã¹ãã远å ããååž°ãé²ãããã®èŠçŽãææžåããŸãã
ããŒã ãšãã¿ãŒã³ãã¬ãã¥ãŒããè²¢ç®ã¬ã€ãã©ã€ã³ãæŽæ°ããã³ãŒãã¬ãã¥ãŒåºæºã確ç«ããŸãã
ããªãã®ããŒã ãæ¥œããäœæ¥ã§ããã³ãŒãããŒã¹ã«å€é©ããŸããã â ããè¿ éãªæ©èœéçºãããå°ãªããã°ã
åœç€Ÿã§ã¯ã颿°ãã¯ã©ã¹ã®æœåºãäŸåæ§æ³šå ¥ã®ãªãã¡ã¯ã¿ãªã³ã°ããã¶ã€ã³ãã¿ãŒã³ã®å®è£ ããããã³ãŒãã®åé€ããã¹ãã«ãã¬ããžã®åäžãã³ãŒãããŒã¹ã®ã¢ãžã¥ãŒã«åãéããŠãä¿å®æ§ãšéçºè ã®çç£æ§ãåäžãããŸãã
MicrocosmWorks ã®ã³ãŒããªãã¡ã¯ã¿ãªã³ã°ããã³ã¯ãªãŒã³ã¢ãããµãŒãã¹ã¯1æéããã10ãã«ãã35ãã«ã§ãå©çšããã ããŸããããã«ãããæé ãªäŸ¡æ Œã§ã³ãŒãå質ãåäžããããã°ãæžãããå°æ¥ã®éçºãå éãããããšãã§ããŸãã
ã¯ããåœç€Ÿã§ã¯ãã¹ããã¡ãŒã¹ããªãã¡ã¯ã¿ãªã³ã°ã®ã¢ãããŒããæ¡çšããŠããŸãã倿Žãè¡ãåã«ãã¹ããäœæãŸãã¯æ¹åãããã®åŸãæ€èšŒå¯èœãªå°ããªã¹ãããã§ãªãã¡ã¯ã¿ãªã³ã°ãè¡ããŸããåã¹ãããã¯ãã¹ãã¹ã€ãŒãã«å¯ŸããŠæ€èšŒããããªã°ã¬ãã·ã§ã³ãçºçããªãããšã確èªããŸãã
åœç€Ÿã§ã¯ããªãã¡ã¯ã¿ãªã³ã°ã®åªå é äœã倿Žé »åºŠïŒãããã¹ãããïŒãã³ãŒãè€é床ã¡ããªã¯ã¹ããã°å¯åºŠãããã³ããžãã¹ãžã®åœ±é¿ã«åºã¥ããŠæ±ºå®ããŸãã倿Žé »åºŠãé«ããè€é床ã®é«ãã³ãŒãã¯ãéçºè ã®çç£æ§ã«ãšã£ãп倧ã®äŸ¡å€ããããããããæåã«ãªãã¡ã¯ã¿ãªã³ã°ãããŸãã
ã¯ããåœç€Ÿã§ã¯ ESLintãPrettierããŸãã¯èšèªåºæã®ãªã³ã¿ãŒãã«ã¹ã¿ã ã«ãŒã«æ§æãpre-commit ããã¯ãããã³ CI ãã§ãã¯ãšå ±ã«ã»ããã¢ããããä»åŸäžè²«ããã³ãŒãã£ã³ã°æšæºã匷å¶ããããšã§ãã³ãŒãããŒã¹ãåã³å£åããã®ãé²ããŸãã