ãã®èšäºã§ã¯ãæ§æ管çã§äœ¿çšãããããŒã«ã«ã€ããŠèª¬æããŸãã ãããã£ãŠããŸããéçºã§äœ¿çšãããããŒã«ããœãããŠã§ã¢ã®äœæããã»ã¹ã«ã©ã®ããã«åœ±é¿ãããã«ã€ããŠçŠç¹ãåœãŠãããšæããŸãã
- ãŸããåããŒã«ã䜿çšããŠããã€ãã®ç¹å®ã®ã¿ã¹ã¯ã解決ããŸãã
- 第äºã«ãåé¡ã®è§£æ±ºã«ã¯ãäžé£ã®èŠä»¶ãæºããããã®ããŒã«ã®å è¡äœ¿çšãå«ãŸããŸããããã䜿çšããªããšãããŒã«ã¯å¹æçã§ã¯ãªãããæ©èœããŸããã
- 第äžã«ãå€ãã®å Žåã䜿çšãããå€ãã®ããŒã«ã«ãã£ãŠæèµ·ãããäžé£ã®èŠä»¶ãå®å šã«æºããããŠããŸããã ããã«ãç°ãªãæ©åšã®èŠä»¶ãäºãã«ççŸããå ŽåããããŸãã ããã¯ãã¹ãŠããã®ãããªè£å©å ·ã®äœ¿çšã®æå¹æ§ãäœäžãããšããäºå®ã«ã€ãªãããŸãã
æ§æ管çã§äœ¿çšãããã¢ãããŒãã¯ããã®ãããªç¢ºç«ãããããã»ã¹ã®æ§ç¯ã«è²¢ç®ããå¯èœæ§ããããŸããããã¯ããœãããŠã§ã¢ãããžã§ã¯ãã®äœæ¥ææã®ç®¡çããã³å¶åŸ¡æ¹æ³ãããã«å ããããå€æŽãããã³åã ã®ã¿ã¹ã¯ãšãããžã§ã¯ãå šäœã®ã¹ããŒã¿ã¹ã«é¢ããæ å ±ã決å®ããéã®äž»ãªèŠåŸã§ããããã§ãã åã«è¿°ã¹ãããã«ïŒ åã®èšäºã§ ïŒããããã¯æ§æ管çã®é¢å¿ã®ç¯å²ã«å ¥ããŸãïŒåé ç®ã¯ä»¥äžã§åå¥ã«æ€èšãããŸãïŒã
- ããŒãžã§ã³ç®¡ç
- ãã«ã管ç
- åäœãã¹ã
- éçã³ãŒãåæ
- ããã¥ã¡ã³ãçæïŒphpDocïŒ
- ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³
- äŸåé¢ä¿ç®¡ç
- ããŒã¿ããŒã¹çµ±å
- ãã°è¿œè·¡ïŒãã°è¿œè·¡ïŒããã³ã¿ã¹ã¯èšå®å¶åŸ¡ïŒåé¡è¿œè·¡ïŒ
- ãªãªãŒã¹ç®¡ç
- é éã®èª¿æŽ
- 確ç«ãããéçºããã»ã¹ã®ç·šæ
- ãœãããŠã§ã¢ãããžã§ã¯ãã®ç°ãªãéšåéã®çžäºäœçšã®æ¹æ³ã®èª¿æŽ
ããŒãžã§ã³ç®¡ç
ããŒãžã§ã³ç®¡çã¯ãäž»èŠãªæ§æ管çããã»ã¹ã§ãã éçºäžã«ããŒãžã§ã³ç®¡çã䜿çšããå¿ èŠããªãããšã¯ãäºå®äžãŒãã§ãã ã»ãšãã©ã®éçºè ã¯ãCVSãSubversionãVSSãªã©ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒSLEïŒã«ç²ŸéããŠããŸãã åæ£ããŒãžã§ã³ç®¡çã·ã¹ãã ã人æ°ãéããŠããŸãïŒgitãmercurialãbazaarã åè¿°ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ã¯ãéçºè éã®æ§æ管çã«é¢ããæŠå¿µã®åœ¢æã«å€§ããªåœ±é¿ãäžããŸãã ãã®ãããéçºè ã¯éåžžããªããžããªã®ææ ®æ·±ãçµç¹ã«ã€ããŠèããŸããã æãåçŽã§å¯äžã®ãœãªã¥ãŒã·ã§ã³ã¯ãSLEãµãããŒãžã§ã³ãæäŸããŸãã ãã®ãœãªã¥ãŒã·ã§ã³ã¯æãé »ç¹ã«äœ¿çšãããŸãïŒãã©ã³ã¯ããã©ã³ãããã³ã¿ã°ãžã®åå²ã ã»ãšãã©ã®Subversionãªããžããªã§ãã®ãã£ã¬ã¯ããªéå±€ãèŠãããšãã§ããŸãããåžžã«åãããã«äœ¿çšããããšã¯èšããŸãããæè¯ã®å Žåãbranchsãã£ã¬ã¯ããªã«äžŠè¡éçºãã©ã³ãã®ããã€ãã®ãã£ã¬ã¯ããªãèŠãããšãã§ããŸãã ãªããžããªã®åå²ãã£ã¬ã¯ããªæ§é ãäœæããéã®éçºè ã®äžå®ã¯ç解ã§ããŸããããã¯å€ãã®å Žåãåå²éã®å€æŽã®ããŒãžã«é¢é£ããå€ãã®åé¡ã®åå ãšãªããŸãã ããããè€æ°ã®ããŒãžã§ã³ãæã€ããç°ãªããã©ãããã©ãŒã ã§åäœããã¢ããªã±ãŒã·ã§ã³ã®ããŒã éçºã§ã¯ãå䜵ãé¿ããããšã¯ã»ãšãã©äžå¯èœã§ãã ããããå䜵ãå®è¡ã§ããç¶æ³ãèŠå¶ããããšã§ããã®æ°ãæå°éã«æããããšãã§ããŸãã ãããããã®ãããªèŠå¶ã決å®ããã«ã¯ããªããžããªã®ç¶æã«é¢é£ããçŸè±¡ãå®å šã«ç解ããå¿ èŠããããŸãã
çµç«ç®¡ç
ãã1ã€ã®éèŠãªæ§æ管çããã»ã¹ã¯ãã¢ã»ã³ããªç®¡çã§ãã ã¢ã»ã³ããªç®¡çã¯ã次ã«é¢ããã¢ã¯ã·ã§ã³ã®èªååã§ãã
- ãœãŒã¹ã³ãŒãã®ã³ã³ãã€ã«
- ã¢ããªã±ãŒã·ã§ã³ã®å±é
- åäœãã¹ããå®è¡ãã
- ããŒã¿ããŒã¹ã®åæå
- ã°ã«ãŒããã¡ã€ã«æäœ
- ç·šé
- å±é
- ããŒãžã§ã³ç®¡çã·ã¹ãã ãšã®çžäºäœçš
åäœãã¹ã
åäœãã¹ãã¯æ§æ管çã®ããã»ã¹ã«å®å šã«åž°ããããšã¯ã§ããŸããããæ§æ管çã«ãããåäœãã¹ãã®ç¹å¥ãªåœ¹å²ã決å®ããéåžžã«éèŠãªããããã£ããããŸãã ãããã£ãŠã解éãããããã°ã©ãã³ã°èšèªã§èšè¿°ããããœãããŠã§ã¢ãããžã§ã¯ãã§ã®åäœãã¹ãã®äœ¿çšã«ãããã¢ã»ã³ããªã管çããå¿ èŠæ§ã«å ããŠãæ§æ管çã«å¯Ÿãããã培åºçãªã¢ãããŒãã®å¿ èŠæ§ã決ãŸããŸãã ãŸãããªãã¡ã¯ã¿ãªã³ã°ãè¡ãããã¯ãã®å Žæã§åäœãã¹ãã衚瀺ãããŸãã 第äºã«ãåäœãã¹ãã®äœ¿çšã決å®ãããšããååãªã¬ãã«ã§ç¶æããå¿ èŠããããããžã§ã¯ãã®ã¢ãŒããã¯ãã£ãŒããã³è«ççãªæŽåæ§ãéåžžèæ ®ãããŸãã ã€ãŸãããŠããããã¹ãã䜿çšãããšãã決å®ã¯ãéçºçµç¹ã«é¢é£ããå€ãã®è¿œå ããã»ã¹ïŒããã³ã³ã¹ãïŒã®å°å ¥ãèªåçã«æå³ããŸãããããã¯ããã»ã©æçœã§ã¯ãããŸããã
éçã³ãŒãåæ
倧èŠæš¡ãããžã§ã¯ãã§ã¢ãŒããã¯ãã£ããã³è«çã®æŽåæ§ããµããŒãããããšã«å ããŠãéçºã®åæ段éã§æ§æãšã©ãŒãç¹å®ããå¿ èŠããããŸãã ãœãŒã¹ã³ãŒãå ã®æ§æãšã©ãŒãšè«çãšã©ãŒãç¹å®ããããšã«å ããŠãå€ãã®å Žåãã³ãŒãèŠçŽãžã®æºæ ãèªåçã«ç¢ºèªããå¿ èŠããããŸãã ã³ã³ãã€ã«ãããèšèªã§ã¯ã»ãšãã©ã®ãšã©ãŒãã³ã³ãã€ã«æ®µéã§æ€åºããããããéçã³ãŒãåæã¯ã€ã³ã¿ãŒããªã¿ãŒèšèªã«ããé¢é£ããŠããŸãã éçåæãå®è¡ããŠããœãŒã¹ã³ãŒãã¡ããªãã¯ãåéããããã«å¿ããŠã¬ããŒãããããšãã§ããŸãã ãœãŒã¹ã³ãŒãã®éçåæã«äœ¿çšãããã©ã€ãã©ãªã®äŸã¯ãè¡šã«ç€ºãããŠããã©ã€ãã©ãªã§ãã
ããã°ã©ãã³ã°èšèª | æ¥œåš |
Java | PMD
Findbugs |
C / C ++ | Cppcheck
糞ãã |
CïŒ | Fxcop
ã¹ã¿ã€ã«ã³ãã ReSharper |
Php | PHP_CodeSniffer
Php sat PHP_Depend ãã¯ã·ãŒ |
Python | ãã€ãã§ãã«ãŒ
ãã€ã³ã ãã€ãã¬ãŒã¯ |
ã«ã㌠| ãã©
ãã㣠ã«ãŒãã¡ã¹ ãã¬ã€ ãããã° |
ããã°ã©ãã³ã°èšèªã«äŸåããªãããŒã« | ã©ãã
ã€ã¹ã« |
ããã¥ã¡ã³ãçæ
ãœãŒã¹ã³ãŒããšjavaDocãphpDocãªã©ã®ã¹ã¿ã€ã«ã®ã³ã¡ã³ãã«åºã¥ãããã¥ã¡ã³ãã®çæã¯ãã©ã€ãã©ãªãåå©çšå¯èœãªã³ã³ããŒãã³ãããã¬ãŒã ã¯ãŒã¯ãªã©ããœãŒã¹ã³ãŒããç©æ¥µçã«äœ¿çšãããããžã§ã¯ãã«æãããé¢é£ããŸããããã¥ã¡ã³ãã®çæã«æããã䜿çšãããããŒã«ãè¡šã«ç€ºããŸãã
ç¹å®ã®ããã°ã©ãã³ã°èšèªåã | Php | phpDocumentor |
Java | ãžã£ãã㯠| |
C ++ | Cppdoc | |
Python | pyDoc | |
ã«ã㌠| RDoc | |
ãããªãŒ | DelphiCodeToDoc | |
CïŒ | Ndoc | |
ç¹å®ã®ããã°ã©ãã³ã°èšèªã䜿çšããããšãæåããŠããªã | é žçŽ | |
ROBODoc | ||
ãã€ã³ããã¹ã |
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒã¯ãçµ±åã®åé¡ãã§ããã ãæ©æã«ç¹å®ããŠè§£æ±ºããããã«ãé »ç¹ã«èªååããããããžã§ã¯ãã¢ã»ã³ããªãå®è¡ãããœãããŠã§ã¢éçºãã©ã¯ãã£ã¹ã§ãã éçºè ãã¢ããªã±ãŒã·ã§ã³ã®åéšåã§ç¬ç«ããŠäœæ¥ããéåžžã®ãããžã§ã¯ãïŒç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã®ãã©ã¯ãã£ã¹ã䜿çšããªãïŒã§ã¯ãã€ã³ãã°ã¬ãŒã·ã§ã³æ®µéãæçµã§ãã CIã説æãããŠã£ãããã£ã¢ã®ç°¡æœãªèšäºã§æ£ããææãããŠããããã«ãç¶ç¶çãªçµ±åã¯ã©ã®ãããžã§ã¯ãã«ãé©çšã§ããŸããã ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ã®å®è·µãå®è£ ããã«ã¯ããããžã§ã¯ãã¯ããã€ãã®èŠä»¶ãæºããå¿ èŠããããŸãã
- ãœãŒã¹ã³ãŒããšã¢ã»ã³ããªã«å¿ èŠãªãã¹ãŠã®ãã®ã¯ããœãŒã¹ã³ãŒããªããžããªãŸãã¯ç°¡åã«ã¢ã¯ã»ã¹ã§ããå Žæã«ä¿åãããŸãã
- ãªããžããªããã®ã³ããŒæäœããããžã§ã¯ãå šäœã®ã¢ã»ã³ããªããã³ãã¹ãã¯èªååãããŠãããå€éšããã°ã©ã ããç°¡åã«åŒã³åºãããšãã§ããŸãã
ããŒã¿ããŒã¹çµ±å
æ§æ管çã¿ã¹ã¯ãæ€èšããéã«å¥ã®å Žæãå ããéèŠãªåé¡ã¯ãããŒã¿ããŒã¹çµ±åã§ãã ã»ãšãã©ã®å ŽåãããŒã¿ããŒã¹ã¯ã¢ããªã±ãŒã·ã§ã³ã®äžå¯æ¬ ãªéšåã§ãã ã¢ãžã£ã€ã«ææ³ã䜿çšããéçºã«ã¯ãããã°ã©ã ã³ãŒãã®ç¶ç¶çãªæ¹åã ãã§ãªããããŒã¿ããŒã¹ã®æ§é ãšãã®æ©èœãå«ãŸããŸãã éåžžãããã¯äžŠè¡ããŠè¡ãããŸããããã°ã©ã ã³ãŒãã®å€æŽã«äŒŽãããã£ãŒã«ãã¿ã€ãããã£ãŒã«ãåãé¢æ°ãããªã¬ãŒãããŒã¿ããŒã¹ã€ã³ããã¯ã¹ãå€æŽãããŸãã ãããžã§ã¯ãã®ã©ã€ããµã€ã¯ã«äžã®ããŒã¿ããŒã¹ã®é²åã¯ãããã°ã©ã ã³ãŒãã®é²åã«äŒŒãŠãããæ§æ管çã®å¯Ÿè±¡ãšããŠããŒã¿ããŒã¹ãæ€èšããå Žåãšã»ãŒåãæ©èœãåããŠããŸãã ããŒã¿ããŒã¹ã®æ§æ管çãšããŒã¿ããŒã¹ã®ããŒãžã§ã³ç®¡çã¯ãããã°ã©ã ã³ãŒãã®æ§æ管çãšæ¯èŒããŠå€§ããªéãããããŸãããããã¯ãããžã§ã¯ã管çã®äžå¯æ¬ ãªéšåã§ãããããŒã¿ããŒã¹çµ±åããã»ã¹ã«åæ ãããŸãã SQLã¢ããªã±ãŒã·ã§ã³ã¯ãå€ãã®å Žåãã¢ããªã±ãŒã·ã§ã³å ã®ã¢ããªã±ãŒã·ã§ã³ãšèŠãªãããããŒãžã§ã³ç®¡çãããå¥ã®ãããžã§ã¯ãã«å²ãåœãŠãããŸãã ããŒãžã§ã³ç®¡çããŒã¿ããŒã¹ã§äœ¿çšãããèå¥èŠçŽ ã«ã¯ãDMLïŒããŒã¿ããŒã¹æäœèšèªïŒãšDDLïŒããŒã¿ããŒã¹å®çŸ©èšèªïŒã®2çš®é¡ããããŸãã DMLã¯ãããŒã¿ã®æäœã«äœ¿çšãããSQLã®ãµãã»ããã§ãããã§ãããæ¿å ¥ãåé€ãæŽæ°ïŒCRUDæäœïŒã DDLã¯SQLã®ãµãã»ããã§ããããŸãããããŒãã«ãã€ã³ããã¯ã¹ãããªã¬ãŒãæŽåæ§å¶çŽãªã©ã®äœæãªã©ãããŒã¿ããŒã¹ã®æ§é ãèšè¿°ããããã«äœ¿çšãããŸãã ããŒã¿ããŒã¹çµ±åãæŽçãããšãã¯ãDMLãšDDLã®ææç©ãåé¢ããããããåå¥ã«ç®¡çããããšããå§ãããŸãã
åé¡è¿œè·¡
ã·ã¹ãã ïŒã¿ã¹ã¯èšå®å¶åŸ¡ã·ã¹ãã ïŒã䜿çšããåŸåã¯ããã®ãããªã·ã¹ãã ããœãããŠã§ã¢ãããžã§ã¯ã管çããŒã«ãçµ±åããè©Šã¿ããŸããŸãé »ç¹ã«è¡ãããŠããããšã瀺ããŠããŸãã å€ãã®å Žåãããã¯çŽæ¥ã§ã¯ãªãéæ¥çã«çºçããŸã-ããŸããŸãªãã©ã°ã€ã³ã®ãªãªãŒã¹ïŒããŒãžã§ã³ç®¡çã·ã¹ãã ãšã®çµ±åãjavaDocãphpDocãŸãã¯Doxygenããã¥ã¡ã³ãã®è¡šç€ºãªã©ïŒã ãã ããCRMïŒå€æŽèŠæ±ç®¡çïŒã«é¢é£ããæ©èœã®åºæ¬ã»ããã«ããæ¹åãå¿ èŠãªèŠçŽ ããããŸãã ãã®ãããªèŠçŽ ã«ã¯ãããšãã°ããŒãžã§ã³ã®åœåããããŸãã ãã ããåé¡è¿œè·¡ã·ã¹ãã ã ãã§ãªãããââãŒãžã§ã³ç®¡çãåæ³ã®ä»ã®ããã»ã¹ã§ãç¹å®ã®èŠåã䜿çšããå¿ èŠããããããæšæºåãããããŒãžã§ã³åã䜿çšã§ããŸããã
ã¢ãžã£ã€ã«
æè»ãªæ¹æ³è«ã®äœ¿çšãå«ããœãããŠã§ã¢éçºãžã®ã¢ãããŒãã«ã¯ãæ§æ管çã®çµç¹ã«æã倧ããªåœ±é¿ãäžããå€ãã®ç¹åŸŽçãªç¹æ§ããããŸãã ãããã®ããããã£ã¯æ¬¡ã®ãšããã§ãã
- å€åããèŠä»¶
- å埩æ§
- ç¶ç¶çãªé ä¿¡ã
ãããã«
ãã®èšäºã§ã¯ãæ§æ管çã®äžéšã§ããããã»ã¹ã«ã€ããŠè©³ãã説æããããšãªã説æããŸãã åããã»ã¹ãä¿èšŒããããã«ãå€ãã®éžæè¢ããéžæã§ããåå¥ã®ããŒã«ã䜿çšãããŸãã ããŒã«èªäœã®äžåäžæ§ãããã³ãããã解決ããã¿ã¹ã¯ã®éãã«ãããæ倧éã®çµ±åãšå¹æãéæããããšã¯å°é£ã§ããããšãææãããŸããã 次ã®èšäºã§ã¯ãããã«ã€ããŠ-è¿œå ã®åœ¢åŒåïŒãœãŒã¹ã³ãŒããªããžããªã®çµç¹åïŒãå°å ¥ããŠãåæ³ã§äœ¿çšãããããŒã«ãããå¹ççã«äœ¿çšããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ç¶ã
åç §ïŒ
- åé¡è¿œè·¡ã·ã¹ãã ïŒwikiïŒ
- ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒwikiïŒ
- è€æ°ã®ã¢ãžã£ã€ã«ããŒã ã®ããŒãžã§ã³ç®¡ç
- 5ã€ã®ç°¡åãªã¹ãããã§ã®ç¶ç¶çãªå±é
- SVNãªããžããªã¡ããªãã¯æ§ç¯ããŒã«
- ã³ãŒãã«ãã¬ããžåæ
- IBM Rational ClearCaseã§ã®ã³ãŒãã¡ããªãã¯ãšãã®å®çšçãªå®è£
- SLOCCount-ã³ãŒãã®è¡æ°ãã«ãŠã³ãããããã®ããŒã«
- CruiseControlãAntãããã³PHPUnitã䜿çšããé£ç¶ãã«ã-åçŽãªæ§æ管çãã©ãããã©ãŒã ãç·šæããäŸ
- PHPCONF 2009ã¬ããŒã