ããããªã³ãŒããæžãããã®æè¯ã®æ¹æ³ã¯äœã§ãã?
SOLIDãDRYãKISS ãªã©ã®å®èšŒæžã¿ã®ãã¯ããã¯ã掻çšããŠãã¯ãªãŒã³ã§ä¿å®å¯èœãã¹ã±ãŒã©ãã«ãªãœãããŠã§ã¢ãäœæããæ¹æ³ãåŠã³ãŸãããã

ã¯ãªãŒã³ãªã³ãŒããéèŠãªçç±
ã¯ãªãŒã³ãªã³ãŒããæžãããšã¯ã ãœãããŠã§ã¢éçº ã«ãããŠæ±ºããŠèŠèœãšãããã¹ãã§ã¯ãªãéèŠãªåŽé¢ã§ããã¯ãªãŒã³ãªã³ãŒãã¯ãä»ã®éçºè ã«ãšã£ãŠçè§£ãããããä¿å®ããæ¡åŒµããããã§ãããã¹ã ãã©ã¯ãã£ã¹ã«åŸã£ãŠãå¯èªæ§ãé«ããæ¬ é¥ãæå°éã«æãããœãããŠã§ã¢ ã¢ããªã±ãŒã·ã§ã³ã®ã¹ã±ãŒã©ããªãã£ãä¿é²ããŸããã¯ãªãŒã³ãªã³ãŒããéèŠã§ããçç±ã¯ããã€ããããŸãã
- éçºã³ã¹ãã®åæž: ã¯ãªãŒã³ãªã³ãŒãã«ããéçºããã»ã¹ãç°¡çŽ åãããéçºè ãã³ãŒããçè§£ããããã°ãä¿å®ããæéãççž®ãããŸããããã«ããã éçºã³ã¹ããåæžããããªãœãŒã¹ãããå¹ççã«äœ¿çšãããŸãã
- ã¡ã³ããã³ã¹ã®å®¹æå: ã¯ãªãŒã³ãªã³ãŒãã«ãããåé¡ã®ç¹å®ãšä¿®æ£ã容æã«ãªããŸããããã«ããããã°ãæžãããœãããŠã§ã¢è£œåã®ä¿¡é Œæ§ãé«ãŸããŸããã¯ãªãŒã³ãªã³ãŒãã¯ä¿®æ£ã容æã§ãããèŠä»¶ããã¯ãããžãŒã®å€åã«ããé©å¿ãããããªããŸãã
- ã³ã©ãã¬ãŒã·ã§ã³ã®åäž: ã³ãŒããçè§£ãããããšãããŒã ã¡ã³ããŒéã®ã³ã©ãã¬ãŒã·ã§ã³ãšã³ãã¥ãã±ãŒã·ã§ã³ã匷åãããŸããéçºè ã¯ã³ãŒãã®ç®çãæ©èœãæ§é ãããã«ææ¡ã§ããããããã广çã«é£æºããŠåé¡ã解決ããããæ°æ©èœãå®è£ ãããã§ããããã«ãªããŸãã
- å質ã®åäž: ã¯ãªãŒã³ãªã³ãŒããèšè¿°ãããšããèŠåŸã¯ãããé«å質ã®ãœãããŠã§ã¢è£œåã®äœæã«åœ¹ç«ã¡ãŸããéçºè ã確ç«ãããã³ãŒãã£ã³ã°æšæºãšãã¹ã ãã©ã¯ãã£ã¹ã«åŸããšãçµæãšããŠåŸãããã³ãŒãã¯ãšã©ãŒãçºçãã«ãããªããããŸããŸãªã·ããªãªã®åŠçã«ãããŠãã匷åã«ãªããŸãã
- éçºè ã®æºè¶³åºŠã®åäž: ã¯ãªãŒã³ãªã³ãŒããæžãããšã¯ãéçºè ã«ãšã£ãŠãããæèãšä»äºãžã®èªãã«ã€ãªãããããããããã®ããçµéšã§ããããã¯å¥å šãªåŽåç°å¢ãä¿é²ããä»äºã®æºè¶³åºŠã®åäžã«ã€ãªãããŸãã
ã¯ãªãŒã³ã³ãŒãã®åºæ¬åå
ã¯ãªãŒã³ãªã³ãŒããå®çŸããã«ã¯ãç¹å®ã®åºæ¬ååãçè§£ããåŸãããšãäžå¯æ¬ ã§ãããããã®ååã¯ãçµéšè±å¯ãªéçºè ã«ãã£ãŠé·å¹Žã«ããã£ãŠç¢ºç«ãããŠãããã¯ãªãŒã³ã§ä¿å®å¯èœã§ã¹ã±ãŒã©ãã«ãªã³ãŒããäœæããããã®ã¬ã€ãã©ã€ã³ãšããŠæ©èœããŸãã
- DRY (Don'trepeat Yourself): ãã®ååã¯ãã³ãŒãã®éè€ãé¿ããããšã®éèŠæ§ã匷調ããŸããåãã³ãŒããè€æ°ã®å Žæã§ç¹°ãè¿ããšãä¿å®ãå°é£ã«ãªãããšã©ãŒãçºçãããããªããŸãã DRY ååã«åŸã£ãŠãæ¢åã®ã³ã³ããŒãã³ããšã³ãŒã ã¹ãããããåå©çšããããšã§ãã³ãŒããç°¡æœã§ä¿å®ããããä¿ã€ããšãã§ããŸãã
- KISS (Keep It Simple, Stupid): KISS ååã¯ãã³ãŒãã®ç°¡çŽ åã奚å±ããŸããè€éãªã³ãŒãã¯ãçè§£ãä¿å®ããããã°ãé£ãããªããŸããã·ã³ãã«ããéèŠããããšã§ãèªã¿ããããçè§£ãããããä¿å®ããããã³ãŒããäœæã§ããŸãã
- SOLID: SOLID ã¯ãã¯ãªãŒã³ãªãªããžã§ã¯ãæåã³ãŒãã®ããã® 5 ã€ã®èšèšååã®ã»ããã®é åèªã§ããååã¯æ¬¡ã®ãšããã§ãã
- åäžè²¬ä»»åå (SRP): ã¯ã©ã¹ãŸãã¯é¢æ°ã®è²¬ä»»ã¯ 1 ã€ã ãã§ãããããçè§£ãšå€æŽã容æã«ãªããŸãã
- ãªãŒãã³/ã¯ããŒãºåå (OCP): ã¯ã©ã¹ãŸãã¯ã¢ãžã¥ãŒã«ã¯æ¡åŒµã«å¯ŸããŠã¯ãªãŒãã³ã§ãããã倿Žã«å¯ŸããŠã¯ã¯ããŒãºãããŠããå¿ èŠããããæ¢åã®æ©èœãå£ãããšãªãæ°ããæ©èœãç°¡åã«è¿œå ã§ããã¢ãžã¥ãŒã«èšèšãä¿é²ããŸãã
- ãªã¹ã³ã眮æåå (LSP): 掟çã¯ã©ã¹ã¯ãããã°ã©ã ã®æ£ç¢ºãã«åœ±é¿ãäžããããšãªããåºæ¬ã¯ã©ã¹ã眮æå¯èœã§ãããäžè²«æ§ã®ãã匷åãªã·ã¹ãã ãä¿èšŒããå¿ èŠããããŸãã
- ã€ã³ã¿ãŒãã§ãŒã¹åé¢åå (ISP): ãã¹ãŠãç¶²çŸ ããå€§èŠæš¡ãªã€ã³ã¿ãŒãã§ãŒã¹ã§ã¯ãªããå°èŠæš¡ã§çŠç¹ãçµã£ãã€ã³ã¿ãŒãã§ãŒã¹ãäœæããŸããããã«ãããé¢å¿äºã®åé¢ãä¿é²ãããã¯ã©ã€ã¢ã³ãã«äžå¿ èŠãªäŸåé¢ä¿ã匷å¶ããå¯èœæ§ãæžããŸãã
- äŸåæ§å転åå (DIP): é«ã¬ãã«ã®ã¢ãžã¥ãŒã«ã¯äœã¬ãã«ã®ã¢ãžã¥ãŒã«ã«äŸåãã¹ãã§ã¯ãããŸããã代ããã«ãäž¡æ¹ãšãæœè±¡åã«äŸåããã·ã¹ãã ãããæè»ã§å€åã«åŒ·ããã®ã«ããå¿ èŠããããŸãã
- YAGNI (You Aren't Gonna Need It): ãã®ååã¯ãè€éããå¢ããã¡ã³ããã³ã¹ãããå°é£ã«ãªããããã³ãŒãã«äžèŠãªæ©èœãå«ããªãããšãæšå¥šããŸããå¿ èŠãªãã®ãå®è£ ããããšã«éäžããææå°æ©ãªæé©åãé¿ããŠãã ããã

ããããªã³ãŒããæžãããã®ãã¯ããã¯
ããŸããŸãªãã¯ããã¯ãšãã¹ã ãã©ã¯ãã£ã¹ã䜿çšãããšãã³ãŒããã¯ãªãŒã³ã§çè§£ãããããä¿å®ãããããªããŸããåããã°ã©ãã³ã°èšèªã«ã¯ç¬èªã®ãã¹ã ãã©ã¯ãã£ã¹ããããŸãããããã€ãã®äžè¬çãªãã¯ããã¯ã¯ãã¹ãŠã®èšèªã«é©çšãããŸããããã§ã¯ãã¯ãªãŒã³ãªã³ãŒããèšè¿°ããããã®æ®éçãªãã¯ããã¯ãããã€ã玹ä»ããŸãã
- é©åãªåœåèŠå: 倿°ã颿°ãã¯ã©ã¹ãã¢ãžã¥ãŒã«ã«ã¯ãæç¢ºã§æå³ã®ããäžè²«ããååã䜿çšããŸããé©åãªåœåèŠåã«ãããã³ãŒã ã³ã³ããŒãã³ãã®ç®çãšæ©èœãçè§£ãããããªããå¯èªæ§ãšä¿å®æ§ãåäžããŸãã
- äžè²«ããã€ã³ãã³ããšæžåŒèšå®: äžè²«ããã€ã³ãã³ããšæžåŒèšå®ã«ãããã³ãŒããããèŠèŠçã«é åçã§çè§£ãããããªããŸããããã°ã©ãã³ã°èšèªã§æšå¥šãããŠããééãã€ã³ãã³ããæžåŒèšå®ã®ã¬ã€ãã©ã€ã³ã«åŸã£ãŠãã ããã
- ã¢ãžã¥ãŒã«å: ã³ãŒãããåäžã®æžå¿µäºé ã«å¯ŸåŠãããçŠç¹ãçµã£ãå°ããªã¢ãžã¥ãŒã«ãŸãã¯é¢æ°ã«åå²ããŸããã¢ãžã¥ãŒã«åã«ããã³ãŒãã®åå©çšæ§ãä¿é²ãããã³ãŒãæ§é ã®æŽçã容æã«ãªããä¿å®æ§ãåäžããŸãã
- ã³ã¡ã³ããšããã¥ã¡ã³ããè³¢ã䜿çšãã: ã³ã¡ã³ããšããã¥ã¡ã³ãã¯ãã³ãŒãã®ç®çãæ©èœãæ§é ã説æããããã«äžå¯æ¬ ã§ããããããè³¢ã䜿çšããŠãã³ãŒãã«é¢ããç°¡æœãªæ å ±ãæäŸããä¿å®æ§ãé«ããŸãã
- ã³ãŒã ã¬ãã¥ãŒãšãªãã¡ã¯ã¿ãªã³ã°: ã¯ãªãŒã³ãªã³ãŒããç¶æããã«ã¯ã宿çãªã³ãŒã ã¬ãã¥ãŒãšãªãã¡ã¯ã¿ãªã³ã°ãéèŠã§ããã¬ãã¥ãŒã¯æœåšçãªåé¡ãç¹å®ããŠä¿®æ£ããã®ã«åœ¹ç«ã¡ãŸããããªãã¡ã¯ã¿ãªã³ã°ã«ããæéããããŠã³ãŒããæ¹åããã³ãŒããã¯ãªãŒã³ã§ä¿å®ããããç¶æ ã«ä¿ã€ããšãã§ããŸãã
- èšèªåºæã®ãã¹ã ãã©ã¯ãã£ã¹ã®éµå®: ããŸããŸãªããã°ã©ãã³ã°èšèªã«ã¯ãã¯ãªãŒã³ãªã³ãŒããèšè¿°ããããã®ç¬èªã®ã¬ã€ãã©ã€ã³ãšãã¹ã ãã©ã¯ãã£ã¹ããããŸããç¹å®ã®èšèªã§ã¯ãªãŒã³ãªã³ãŒããäœæããã«ã¯ããããã®æšå¥šäºé ãããçè§£ããŠãã ããã
ãããã®ãã¯ããã¯ã«åŸããã¯ãªãŒã³ãªã³ãŒãã®ååãé©çšããããšã§ãã¯ãªãŒã³ã§ä¿å®å¯èœãã¹ã±ãŒã©ãã«ãªãœãããŠã§ã¢ãäœæã§ããããã«ãªããŸããããã¯ããªãã ãã§ãªããããŒã ã¡ã³ããŒããããžã§ã¯ãã®æåã«ãå©çããããããŸãã
ããŸããŸãªããã°ã©ãã³ã°èšèªã®ã¯ãªãŒã³ãªã³ãŒã
ã¯ãªãŒã³ãªã³ãŒããæžãããšã¯ãç¹å®ã®ããã°ã©ãã³ã°èšèªã«éå®ãããŸãããããã§ããåèšèªã«ã¯ãã¯ãªãŒã³ãªã³ãŒããäœæããããã«åŸãã¹ãç¬èªã®æšå¥šäºé ãèŠåããã¹ã ãã©ã¯ãã£ã¹ããããŸããäžè¬çãªããã°ã©ãã³ã°èšèªã«é¢é£ããã¬ã€ãã©ã€ã³ãããã€ãèŠãŠã¿ãŸãããã
JavaScript
- ç®çãæç¢ºã«äŒããæå³ã®ãã倿°åãšé¢æ°åã䜿çšããŠãã ããã
- ã°ããŒãã«å€æ°ãé¿ããã¯ããŒãžã£ãšã¢ãžã¥ãŒã« ãã¿ãŒã³ã䜿çšããŠç¶æ ãã«ãã»ã«åããŸãã
- ãå³å¯ã¢ãŒããã䜿çšãããšãããé©åãªã³ãŒãã£ã³ã°æ¹æ³ãé©çšãããäžè¬çãªãšã©ãŒãæ©æã«çºèŠã§ããŸãã
- æ©èœãå°ããéäžãããåäžã®è²¬ä»»ã®ã¿ãå®è¡ããŸãã
- äžå€æ§ãšé¢æ°åããã°ã©ãã³ã°ææ³ (ãããããã£ã«ã¿ãŒããªãã¥ãŒã¹ãªã©) ãåªå ããŸãã
- éåææäœãåŠçããã«ã¯ãPromises ããã³ async/await æ©èœã䜿çšããŸãã
- ãªã³ã¿ãŒ (ESLint ãªã©) ãšã¹ã¿ã€ã« ã¬ã€ã (Airbnb ãªã©) ã䜿çšããŠãäžè²«ããã³ãŒãã£ã³ã° ã¹ã¿ã€ã«ãšå®è·µã匷å¶ããŸãã
ãã€ãœã³
- Python ã³ãŒãã® PEP 8 ã¹ã¿ã€ã« ã¬ã€ãã«åŸã£ãŠãã ãããã€ã³ãã³ããè¡ã®é·ããåœåèŠåãªã©ã®ãããã¯ã«é¢ããæšå¥šäºé ãèšèŒãããŠããŸãã
- ãªã¹ãå å 衚èšãšãžã§ãã¬ãŒã¿ãŒåŒã䜿çšããŠãç°¡æœã§èªã¿ãããã³ãŒããäœæããŸãã
- å¿ èŠã«å¿ããŠçµã¿èŸŒã¿äŸå€ã䜿çšããé©åãªäŸå€åŠçãæ¡çšããŸãã
- é¢é£ããã³ãŒãã颿°ãã¯ã©ã¹ãã¢ãžã¥ãŒã«ã«ã°ã«ãŒãåããé«åºŠãªã¢ãžã¥ãŒã«æ§ãä¿é²ããŸãã
- 颿°ãã¯ã©ã¹ãã¢ãžã¥ãŒã«ã® docstring ãèšè¿°ããŠãæç¢ºãã€ç°¡æœãªããã¥ã¡ã³ããæäŸããŸãã
- Python ã®çµã¿èŸŒã¿é¢æ°ãã©ã€ãã©ãªãããã³ã³ã³ããã¹ã ãããŒãžã£ãŒããã³ã¬ãŒã¿ãŒãªã©ã®æ £çšçãªæ§æèŠçŽ ã䜿çšããŸãã
- ãªã³ã¿ãŒ (PyLint ãªã©) ãšãã©ãŒããã¿ (Black ãªã©) ã䜿çšããŠãäžè²«æ§ã®ããèªã¿åãå¯èœãªã³ãŒãã確ä¿ããŸãã
ãžã£ã¯
- 倿°ãšã¡ãœããã«ã¯ãã£ã¡ã«ã±ãŒã¹ãã¯ã©ã¹ãšã€ã³ã¿ãŒãã§ã€ã¹ã«ã¯ãã¹ã«ã«ã±ãŒã¹ã宿°ã«ã¯ UPPER_CASE ãªã©ã®åœåèŠåãæ¡çšããŸãã
- ã¢ã¯ã»ã¹ä¿®é£Ÿå (publicãprivateãprotected) ã䜿çšããŠãã¯ã©ã¹ã®ã¡ã³ããŒãšã¡ãœããã广çã«ã«ãã»ã«åããŸãã
- ã¢ãžã¥ãŒã«æ§ãšã³ãŒãã®åå©çšæ§ãé«ããããã«ãç¶æ¿ãããåæãåªå ããŸãã
- Java ã®ã³ã¬ã¯ã·ã§ã³ãšãã¹ããªãŒã ãã©ã ããªã©ã®æ©èœã掻çšããŠãã³ãŒããããã¯ãªãŒã³ã§è¡šçŸåè±ãã«ããŸãã
- ã¯ã©ã¹ãã€ã³ã¿ãŒãã§ã€ã¹ããããªã㯠ã¡ãœããã® JavaDoc ã³ã¡ã³ããèšè¿°ããŠããã¥ã¡ã³ããæäŸããŸãã
- Checkstyle ã FindBugs ãªã©ã®ããŒã«ãå©çšããŠãã³ãŒãã£ã³ã°æšæºãé©çšããæœåšçãªæ¬ é¥ãç¹å®ããŸãã
- SOLID èšèšååã«åŸã£ãŠãã¯ãªãŒã³ã§ä¿å®å¯èœãªãªããžã§ã¯ãæåã³ãŒããèšè¿°ããŸãã
ç¹å®ã®ããã°ã©ãã³ã°èšèªã§ã¯ãªãŒã³ãªã³ãŒããäœæããã«ã¯ããã®èšèªã®ãã¹ã ãã©ã¯ãã£ã¹ãšèŠçŽãåŠã¶ããšãäžå¯æ¬ ã§ããèªã¿ããããä¿å®ãããããå¹ççãªã³ãŒããäœæããããã®æ £çšçãªæ§é ãšãã¯ããã¯ã«æ £ããŠãã ããã
广çãªææžåã®åœ¹å²
ããã¥ã¡ã³ãã¯ãéçºè ãã³ãŒãã®ç®çãæ©èœãæ§é ãçè§£ããã®ã«åœ¹ç«ã€ãããã¯ãªãŒã³ãªã³ãŒããèšè¿°ããäžã§éåžžã«éèŠã§ããé©åãªããã¥ã¡ã³ãã¯ã³ãŒãã®ä¿å®æ§ãä¿é²ããããŒã ã¡ã³ããŒéã®ã³ã©ãã¬ãŒã·ã§ã³ãæ¯æŽããå°æ¥ã®æ©èœåŒ·åã®ããã®è²Žéãªåèè³æãšããŠåœ¹ç«ã¡ãŸãã广çãªææžåã®ããã®ãã¹ã ãã©ã¯ãã£ã¹ã¯æ¬¡ã®ãšããã§ãã
- ã€ã³ã©ã€ã³ ã³ã¡ã³ã: è€éãªã³ãŒã ã¹ãããããæç¢ºã§ã¯ãªãã³ãŒã ã¹ããããã®æå³ã説æããããã«ãã€ã³ã©ã€ã³ ã³ã¡ã³ãã¯æ§ããã«äœ¿çšããŸããã³ã¡ã³ããå€çšãããšã³ãŒããä¹±éã«ãªããèªã¿ã«ããä¿å®ãã«ãããªãå¯èœæ§ããããŸãããŸããã³ãŒããé²åããŠãã³ã¡ã³ããåžžã«æŽæ°ãããããã«ããŠãã ããã
- 颿°ãšã¡ãœããã®ããã¥ã¡ã³ã: 颿°ãšã¡ãœããã«ã€ããŠãç®çãå ¥åãåºåãããã³èããããå¯äœçšãäŒãããç°¡æœãã€æç¢ºã§æçãªèª¬æãæžããŸãããã®ããã¥ã¡ã³ãã¯ãä»ã®éçºè ãæ©èœãšäœ¿çšæ³ãçè§£ããããããã®ã«åœ¹ç«ã¡ãŸãã
- ã¯ã©ã¹ãšã¢ãžã¥ãŒã«ã®ããã¥ã¡ã³ã: ã¯ã©ã¹ãšã¢ãžã¥ãŒã«ã®ç®çãšæŠèŠã説æããã¢ããªã±ãŒã·ã§ã³å ã§ã®ãããã®è²¬ä»»ãšé¢ä¿ãæç¢ºã«ããŸãããã®ããã¥ã¡ã³ãã§ã¯ãã¯ã©ã¹/ã¢ãžã¥ãŒã«ãäŸåããäŸåé¢ä¿ãå€éšãµãŒãã¹ã«ã€ããŠã説æããå¿ èŠããããŸãã
- API ããã¥ã¡ã³ã: ã¢ããªã±ãŒã·ã§ã³ãå€éšäœ¿çšã®ããã« API ãå ¬éããå Žåãé©å㪠API ããã¥ã¡ã³ããäžå¯æ¬ ã§ãã HTTP ã¡ãœãããå ¥åãã©ã¡ãŒã¿ãèªèšŒèŠä»¶ãå¿ç圢åŒãªã©ãåendpointã«é¢ããæ å ±ãå«ããŸãã Swagger (OpenAPI) ãªã©ã®ããŒã«ã䜿çšããŠãã€ã³ã¿ã©ã¯ãã£ã㪠API ããã¥ã¡ã³ããèªåçã«çæã§ããŸãã
ã¯ãªãŒã³ãªã³ãŒãã¯ã»ãšãã©äžç®çç¶ã§ããå¿ èŠããããŸãããããæžãããããã¥ã¡ã³ãã¯ãæå³ãèšèšäžã®èæ ®äºé ãããã³ããã«ã¯æããã§ã¯ãªããšããžã±ãŒã¹ãäŒããããšã§ã³ãŒããè£å®ããããšã«æ³šæããŠãã ãããããã¥ã¡ã³ãã®æçšæ§ãæå€§éã«é«ããããã«ãããã¥ã¡ã³ããåžžã«ææ°ã®ç¶æ ã«ä¿ã¡ãã³ãŒããšåæãããŠãã ããã
ã¯ãªãŒã³ãªã³ãŒããæšé²ããããã®ããŒã«ãšãªãœãŒã¹
ã¯ãªãŒã³ãªã³ãŒãã®äœæã容æã«ããããŒã«ããªãœãŒã¹ã倿°çšæãããŠããŸãããããã®ããŒã«ã¯äžè²«æ§ãéèŠããã¬ã€ãã³ã¹ãæäŸããå Žåã«ãã£ãŠã¯ã³ãŒãã®æžåŒèšå®ã®äžéšã®åŽé¢ãèªååããããšããããŸããããããäŸãšããŠã¯æ¬¡ã®ãããªãã®ããããŸãã
- ãªã³ã¿ãŒ: JavaScript ã® ESLintãPython ã® PyLintãJava ã® Checkstyle ãªã©ã®ãªã³ã¿ãŒã¯ãæ§æãšã©ãŒãã³ãŒãã£ã³ã° ã¹ã¿ã€ã«éåããŸãã¯æœåšçãªåé¡ã«ã€ããŠã³ãŒããåæããŸããã³ãŒãã®å質ãåäžãããä¿å®æ§ãåäžãããããã®ä¿®æ£ãšææ¡ãæäŸããŸãã
- ã³ãŒãã®æŽåœ¢æ©èœãšãã©ãŒããã¿: Prettier (JavaScript)ãBlack (Python)ãGoogle Java Format (Java) ãªã©ã®ããŒã«ã¯ãäºåå®çŸ©ãããã«ãŒã«ãŸãã¯ã«ã¹ã¿ãã€ãºå¯èœãªã«ãŒã«ã«åŸã£ãŠã³ãŒããèªåçã«ãã©ãŒããããããããžã§ã¯ãå šäœã§äžè²«æ§ã®ããã¯ãªãŒã³ãªã³ãŒãã£ã³ã° ã¹ã¿ã€ã«ãä¿é²ããŸãã
- çµ±åéçºç°å¢ (IDE): Visual Studio CodeãIntelliJ IDEAãPyCharm ãªã©ã®ææ°ã® IDE ã¯ããªã³ã¿ãŒããã©ãŒããã¿ãããã³ã¯ãªãŒã³ãªã³ãŒãã®äœæãä¿é²ãããã®ä»ã®ããŒã«ã®çµ±åãµããŒããæäŸããŸãããããã® IDE ã¯ãã³ãŒã ããã²ãŒã·ã§ã³ããªãã¡ã¯ã¿ãªã³ã°ãã³ãŒãã£ã³ã° ããã»ã¹ãåçåããã€ã³ããªãžã§ã³ããªã³ãŒãè£å®ãªã©ã®æ©èœãæäŸããŸãã
- ã³ãŒã ã¬ãã¥ãŒ: ã¡ã€ã³ ãã©ã³ãã«ããŒãžããåã«ãããŒã ã¡ã³ããŒããäºãã®ã³ãŒããã¬ãã¥ãŒããã³ãŒã ã¬ãã¥ãŒ ããã»ã¹ãçµã¿èŸŒã¿ãŸãããã®ããã»ã¹ã¯ãæœåšçãªåé¡ãç¹å®ããã³ãŒãã£ã³ã°æšæºãç¶æããããŒã å šäœã§ç¥èãå ±æããã®ã«åœ¹ç«ã¡ãŸãã
- ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ãšãã¹ã: JenkinsãCircleCIãGitHub Actions ãªã©ã®ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ (CI) ããã³ãã¹ã ããŒã«ãå®è£ ããŠãã³ãŒãã®æ§ç¯ããã¹ãããããã€ãèªååããŸãããããã®ããŒã«ã¯ãéçºã©ã€ããµã€ã¯ã«å šäœãéããŠã³ãŒãå質ã®äžè²«æ§ã確ä¿ããã®ã«åœ¹ç«ã¡ãŸãã
ãããã®ããŒã«ãšãªãœãŒã¹ã掻çšããããšã§ãã³ãŒãããã¹ã ãã©ã¯ãã£ã¹ã«æºæ ããããŒã å šäœã§äžè²«æ§ããããå°æ¥ã®æŽæ°ãæ©èœæ¡åŒµã«åããŠç°¡åã«ä¿å®ã§ããããšãä¿èšŒã§ããŸããã¯ãªãŒã³ãªã³ãŒããèšè¿°ããããšã¯ãçŸåšã®ãããžã§ã¯ãã«å©çããããããä»åŸã®ã³ã©ãã¬ãŒã·ã§ã³ãã¡ã³ããã³ã¹ãæé·ã容æã«ããããã®åºç€ãç¯ããŸãã
AppMasterã®ã¯ãªãŒã³ãªã³ãŒã
AppMaster ã¯ããŠãŒã¶ãŒãé«å質ã®ã³ãŒããç¶æããªãã Webãã¢ãã€ã«ãããã³ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãè¿ éã«æ§ç¯ã§ããããã«ããå æ¬ç㪠ããŒã³ãŒã ãã©ãããã©ãŒã ã§ãã AppMaster ãã¯ãªãŒã³ã§ã¹ã±ãŒã©ãã«ã§ä¿å®å¯èœãªã³ãŒããçæããããšã«ãããæè¡çè² åµã®è² æ ã軜æžããããæç¶å¯èœãª ãœãããŠã§ã¢éçºããã»ã¹ ããŠãŒã¶ãŒã«æäŸããŸãã
匷åãªããžã¥ã¢ã« ãã¶ã€ã³ ããŒã«ãšäºåæ§ç¯ãããã³ã³ããŒãã³ããå©çšããããšã§ããŠãŒã¶ãŒã¯åŸæ¥ã®ã³ãŒãã£ã³ã°æ¹æ³ã«ãããæéã®ã»ãã®äžéšã§è€éãªã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã AppMasterå éšçã«ãäžè¬çãªã¯ãªãŒã³ ã³ãŒãååãšèšèªåºæã®ãã¹ã ãã©ã¯ãã£ã¹ã«æºæ ããããŸããŸãªãã©ãããã©ãŒã çšã®ã¢ããªã±ãŒã·ã§ã³ãçæããçæããããœãããŠã§ã¢ã®ä¿¡é Œæ§ãä¿å®ã容æã§ãããã©ãŒãã³ã¹ãé«ãããšãä¿èšŒããŸãã

AppMasterèŠä»¶ã倿Žããããã³ã«ã¢ããªã±ãŒã·ã§ã³ãæåããåçæããããšã§ã¯ãªãŒã³ ã³ãŒãçæã次ã®ã¬ãã«ã«åŒãäžããåäžã®éçºè ãŸãã¯ããŒã ãæè¡çè² åµãèç©ããããšãªãã¹ã±ãŒã©ãã«ãªãœãããŠã§ã¢ ãœãªã¥ãŒã·ã§ã³ãäœæã§ããããã«ããŸãããã®ã¢ãããŒãã«ãããäŒæ¥ã¯è¿ éã«æ¹å転æããçµ¶ããå€åããåžå Žã®éèŠã«å¯Ÿå¿ããããšãã§ããŸãã
ããã«å ããŠã AppMaster ãèªåçæããã API ããã¥ã¡ã³ããéããŠä»ã®ã·ã¹ãã ãšã®ã·ãŒã ã¬ã¹ãªçµ±åããµããŒãããéçºè ãçæããããœãããŠã§ã¢ã®ãµãŒãã¹ãendpointsãšå¯Ÿè©±ããããšã容æã«ããŸãããã®ã¢ãããŒããéããŠã AppMasterã¯ãªãŒã³ãªã³ãŒãã®äœæãæ¯æŽããã ãã§ãªããã¢ããªã±ãŒã·ã§ã³ ãšã³ã·ã¹ãã å šäœã®ã¯ãªãŒã³ãªã¢ãŒããã¯ãã£ãä¿é²ããŸãã
çµè«
ãœãããŠã§ã¢éçºè ã«ãšã£ãŠãçµéšã¬ãã«ãåéã«é¢ä¿ãªããã¯ãªãŒã³ãªã³ãŒããæžãããšã¯äžå¯æ¬ ã§ãã DRYãKISSãSOLID ãªã©ã®åºæ¬ååãéµå®ããé©åãªåœåèŠåãã¢ãžã¥ãŒã«åã广çãªããã¥ã¡ã³ããªã©ã®å®èšŒæžã¿ã®ãã¯ããã¯ã掻çšããããšã§ãéçºè ã¯çè§£ãããããä¿å®ããæ¡åŒµãããããœãããŠã§ã¢ãäœæã§ããŸãã
ã¯ãªãŒã³ ã³ãŒãã®ååãšãã¹ã ãã©ã¯ãã£ã¹ã¯ããã°ã©ãã³ã°èšèªã«ãã£ãŠç°ãªãå ŽåããããŸãããäžå¿çãªç®çã¯åãã§ãããã³ãŒããããçè§£ããããããšã©ãŒãçºçãã«ããããããšã§ããã¯ãªãŒã³ãªã³ãŒããæ¡çšãããšãããŒã ã¡ã³ããŒéã®ã³ã©ãã¬ãŒã·ã§ã³ããã广çã«ãªãããã°ãæžããçµæãšããŠé«å質ã®ãœãããŠã§ã¢è£œåãçãŸããŸãããªã³ã¿ãŒãã³ãŒãæŽåœ¢ããŒã«ãªã©ã®ããŸããŸãªããŒã«ãå©çšããŠããããžã§ã¯ãå šäœã§ã¯ãªãŒã³ãªã³ãŒããç¶æã§ããããã«ããŸãã
AppMasterã®ãã㪠ããŒã³ãŒã ãã©ãããã©ãŒã ã¯ã ã¯ãªãŒã³ã§ã¹ã±ãŒã©ãã«ã§ä¿å®å¯èœãªã³ãŒããäœæããããã»ã¹ãç°¡çŽ åããæè¡çè² åµã®èç©ãæé€ããŸãã AppMasterã®ãããªãã©ãããã©ãŒã ã¯ãã¯ãªãŒã³ ã³ãŒã ãã©ã¯ãã£ã¹ãçµ±åããããšã§ãããŒã ãããè¿ éãã€ã³ã¹ãå¹çããã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããããã«æ¯æŽããããžãã¹ç®æšãéæããé²åãç¶ããæ¥çã§åªäœã«ç«ã€ããšãå¯èœã«ããŸãã
ãããã質å
ã¯ãªãŒã³ãªã³ãŒããšã¯ãä»ã®éçºè ãçè§£ãããããä¿å®ããæ¡åŒµããããã³ãŒãã§ãããã¹ã ãã©ã¯ãã£ã¹ã«åŸã£ãŠãå¯èªæ§ãé«ããæ¬ é¥ãæå°éã«æãããœãããŠã§ã¢ ã¢ããªã±ãŒã·ã§ã³ã®ã¹ã±ãŒã©ããªãã£ãä¿é²ããŸãã
ã¯ãªãŒã³ãªã³ãŒãã¯ããœãããŠã§ã¢éçºã³ã¹ããåæžããã¡ã³ããã³ã¹ãç°¡çŽ åããããŒã ã¡ã³ããŒéã®ã³ã©ãã¬ãŒã·ã§ã³ãããå¹ççã«ãããããéèŠã§ãããŸãããã°ãæå°éã«æããããé«å質ã®ãœãããŠã§ã¢è£œåã®äœæã«ã圹ç«ã¡ãŸãã
ã¯ãªãŒã³ãªã³ãŒãã®éèŠãªååã«ã¯ãDRY (Don'trepeat Yourself)ãKISS (Keep It Simple, Stupid)ãããã³ SOLID (ã¯ãªãŒã³ãªãªããžã§ã¯ãæåã³ãŒãã®ããã® 5 ã€ã®èšèšååã®ã»ãã) ããããŸãã
ã¯ããã³ãŒãã®ã¯ãªãŒã³ããåäžãããããã®ãã¯ããã¯ã«ã¯ãé©åãªåœåèŠåãäžè²«ããã€ã³ãã³ããšæžåŒèšå®ãã¢ãžã¥ãŒã«åãã³ã¡ã³ããšããã¥ã¡ã³ãã®è³¢æãªäœ¿çšãèšèªåºæã®ãã¹ã ãã©ã¯ãã£ã¹ã®éµå®ãªã©ããããŸãã
广çãªããã¥ã¡ã³ãã¯ãéçºè ãã³ãŒãã®ç®çãæ©èœãæ§é ãçè§£ããã®ã«åœ¹ç«ã¡ãŸããããã¯ã¬ã€ããšããŠæ©èœããã³ãŒãã®ä¿å®æ§ãä¿é²ããããŒã ã¡ã³ããŒéã®ã³ã©ãã¬ãŒã·ã§ã³ãæ¯æŽããŸãã
ã¯ããããŸããŸãªããã°ã©ãã³ã°èšèªã«ã¯ãã¯ãªãŒã³ãªã³ãŒããèšè¿°ããããã®ç¬èªã®ã¬ã€ãã©ã€ã³ãšãã¹ã ãã©ã¯ãã£ã¹ãååšããããšããããããŸããç¹å®ã®èšèªã§ã¯ãªãŒã³ãªã³ãŒããäœæããã«ã¯ããããã®æšå¥šäºé ãçè§£ããŠããããšãéèŠã§ãã
ã¯ãããªã³ã¿ãŒãã³ãŒãæŽåœ¢ããŒã«ãçµ±åéçºç°å¢ (IDE) ãªã©ãææ¡ãæäŸããããåé¡ã匷調衚瀺ããããã³ãŒãã®æžåŒèšå®ã®äžéšãèªååãããããããšã§ãéçºè ãã¯ãªãŒã³ãªã³ãŒããäœæã§ããããã«ããããŸããŸãªããŒã«ãå©çšå¯èœã§ãã
Web ããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®no-codeãã©ãããã©ãŒã ã§ããAppMasterã¯ãã¯ãªãŒã³ã§ã¹ã±ãŒã©ãã«ã§ä¿å®å¯èœãªã³ãŒããçæããŸãããã®ãã©ãããã©ãŒã ã®ã¢ãããŒãã«ãããèŠä»¶ã倿Žããããã³ã«ã¢ããªã±ãŒã·ã§ã³ãæåããåçæããããããæè¡çè² åµã確å®ã«åæžãããŸãã


