TDDã¯YAGNIã«çç¾ããï¼
Joel on Softwareã«é¢ç½ãããªè¨äºãè¼ã£ã¦ããã
ã¨ã¯ãããã©ããåã®è±èªåã§ã¯å®å ¨ãªèªè§£ãé£ãããä¼è©±ãæ¸ãèµ·ããããã®ãªã®ã§å½ç¶ãªããæä½ãä¼è©±èª¿ã§ãåã«ã¯ãªããªãçè§£ãé£ããã®ã ã以ä¸ã§åã®èªã¿ééããããã°ææãã¦æ¬²ããã
ãã¦ãåé ã§ Joel æ°ã¯ããè¨ã£ã¦ããã
Joel: There's a debate over Test Driven Development... should you have unit tests for everything, that kind of stuff... a lot of people write to me, after reading The Joel Test, to say, "You should have a 13th thing on here: Unit Testing, 100% unit tests of all your code."
From Podcast 38 – Joel on Software
The Joel Test ãèªãã ããããã®èªè ããJoel Test ã®13çªç®ã®é ç®ã¨ã㦠"Unit Testing" ãå ããã¹ãã ã¨æ¸ãã¦ãã¦ããããã ããã¹ã¦ã®ã³ã¼ãã«å¯¾ãã¦100ï¼ ã¦ããããã¹ããç¨æããã¹ãã ã¨ã
ãããã¢ã¸ã£ã¤ã«æ´¾ã¯ã©ãæãã®ããªãJoel Test ã« 100% ã® Unit Testing ãå ããã¹ãã ã¨æãï¼
ããã«ãæ°ã¯ããç¶ãã¦ããã
the whole idea of agile programming is not to do things before you need them, but to page-fault them in as needed.
ã¢ã¸ã£ã¤ã«ã®èãæ¹ã¨ã¯ãäºãå¿ è¦ã«ãªãåã«æãåºãã®ã§ã¯ãªããå¿ è¦ã«åãã㦠page-fault ãããã¨ã ã
ããã§ page-fault ã¨è¡¨ç¾ããã¨ããããã¯ããOSã®ãã¼ã¸ã³ã°å¦çã«ãªãããã¦ãå¿ è¦ã«ãªãã¾ã§é å»¶å¦çãããã¨ããæå³ã ããã
ããã¯ã¾ãã«ãYAGNI - You Ain't Gonna Need It ã®ææ³ã ãããã¦ãæ°ã¯ãã¹ã¦ã®ã³ã¼ãã«å¯¾ãã¦ã¦ããããã¹ããç¨æããªãã¦ã¯ãªããªãã¨ããè¦å¾ã¯ãYAGNIã®ææ³ã¨çç¾ããã¨è¿°ã¹ã¦ããããã«æãã
ã¤ã¾ããããããã¨ã
ã¦ããããã¹ãã¨ããã®ã¯å¤æ´ã«å¯¾ãã¦ã¢ã¸ã£ã¤ã«ã«å¯¾å¿ããããã«ç¨æãããã®ã ããã®å¤æ´ã®å¿ è¦ãã¾ã ãªããã¡ããããã¹ã¦ã®ã³ã¼ãã«å¯¾ãã¦ãã¹ããç¨æããã®ã¯YAGNIã®ææ³ã«åããã®ã§ã¯ãªããããã®ãã¹ãã³ã¼ããã You Ain't Gonna Need It ã§ã¯ãªãã®ãã
ããã¯é¢ç½ãåé¡æèµ·ã ãããã¦ãåã¯ããªãã®é¨åã§ Joel æ°ã«åæããã
以éã®é¨åã§ãæ°ã¯ãªãã¸ã§ã¯ãæåè¨è¨ã®è¨è¨ååï¼principleï¼ãé度ã«å¼·è¦ãããã¨ã®åé¡ç¹ãææãã¦ãããã¤ã¾ãæ°ã¯ãTDD ã«ãã¦ãè¨è¨ååã«ãã¦ããéçºããã»ã¹ã«å¯¾ãã¦é度ã«ä¸å¾ã«ã¨ã³ã¸ãã¢ãªã³ã°ã®è¦å¾ãé©ç¨ããã®ã¯ãããããã¨ææãã¦ããã®ã ã¨æãã
以ä¸ãç°¡åãªè¦ãæ¸ãã
- ã¦ããããã¹ããè¨è¨ååããã¾ãæ©è½ããã·ã¹ãã ã¨ããªãã·ã¹ãã ãããã
- ãã¾ãæ©è½ãããã®ï¼
- ã³ã³ãã¤ã©ã®ãããªã仿§ãå®å®ãã¦ãããã®
- APIã®ããã«ãå¤é¨ã«å¯¾ãã¦ãã£ã¡ãã¨å®å®ããã¤ã³ã¿ã¼ãã§ã¤ã¹ãæä¾ããå¿ è¦ããããã®
- ãããããã¹ã¦ã®åã
ã®ã¯ã©ã¹ã«ã¾ã§ä¸å¾ã«é©ç¨ããã®ã¯ããããªãã®ã
- ãã¹ãã®è¨è¿°ã³ã¹ãã¨ãå¾ããããããã£ãããé£ãåããªãå ´åããã
- ãã種ã®è¨è¨å¤æ´ãããã¨ãããã«ä¼´ã£ã¦å ¨ä½ã®ä¸å²ã«åã¶ãã¹ãã³ã¼ããå£ãã¦ãã¾ããã¨ã ã£ã¦ãã
- ç§è¦ï¼æ¢ãã¦åè«ãããªãã°ãJoelæ°ã®æè¦ããã¯ãtesting ãéçºã drive ãããã¨ããè¦ç¹ãæãã¦ããã¨ã¯æãã
- ãã ããåèªèº«ã試ãã¦ã¿ãçµé¨ã§ã¯ãããã¾ã§ testing ãéçºã drive ãã¦ãããã¨ããæè¦ã¯å¾ãããªãã£ãã