TDD in Actionãéå¬ãã¾ããã #TDDAct
åéãã¼ã¸ã¨ã
7月22日 TDD in Action #tddact(東京都)
TDD in Action #tddact - Togetterまとめ
éå¬çµç·¯
@pocketberserkerãTDDBCMLã§TDDãè¦ãåãã¤ãã³ããããããã¨è¨ã£ã¦ããã®ã ããã©ããããããã£ã¦æµãã¦ãã¾ãã
TDD in Actionã¨ããååã§ä¼ç»ãç´ãã¾ããã
å 容
åéãã¼ã¸å¼ç¨
ããã¾ããªæµã
- å¯è½ãªéããã¢ã§1æ¥ããã°ã©ãã³ã°(ãã¢æãã¯ãªãã§)ãã¾ãã
- TDDBCã§è¡ãªããã¦ãããããªè¬æ¼ã®æ ã¯ãªãã§ãã
- ã50min ãã¢ãããã -> ãµãã¼ã¿ã¼ã«ãã10minã©ã¤ãTDD ã®ãã¨ã« åå è ã«ãã 15minã©ã¤ãTDD * 3ãã¢ãã®2hãããã3ã»ããã
- è¨èªå¶éãªããåºæ¥ãã ããã¢ãã¤ãã£ã¦ãã ããã
- VCSã®ä½¿ç¨ã¯åå è ã«ä»»ãã¾ãã
- éçåä»ã颿°åè¨èªãããªãã¦ã大ä¸å¤«ã§ãã
- Groovyãããªãã¦ã大ä¸å¤«ã§ãã
- Emacsã¨Vimã§å§å©ãã¦ãã¾ãã¨ãã¯ãGitHubã¨ãBitBucketã¤ãã£ã¦ããã¢äº¤ä»£æã«ãã·ã³æ¯ããããã¾ãããã
- ã©ã³ãã¨ã¹ã¤ã¼ããéå¶ããæä¾ãã¾ããåå è²»1500åããããã§ãã
- æè¦ªä¼ã¯ä¼å ´ã«ã¦ãã¢ããã·ã¥ã§ãã叿è ã¯åå è²»2000åããããã§ãã
ã¾ããããªãããã§ãã£ãããã§ãããçµæ§ã¾ã£ããã¨ãã£ã¦ãã¾ããã
忥ã®JPOUGããã®ãã¢ããã·ã¥ã®ä½ãã§çºæ³¡é
ã¨ãã¤ã¾ã¿ãããããã®ãããã
ä¸è¨ã§è¨ãã°ã10æãããã¼ã«é£²ã¿ãªãã21æã¾ã§TDDãã¦ã¯è¦ãåã£ããããã¹ãã®æ¯éã«ã¤ãã¦æè¦äº¤æããããã¨ããã¦ãã¾ããã
ä»ã®æ¹ãããã°ã§æ¸ãã¦ãã¾ããããTDDã ã¨æãã°ãªã«ããã£ã¦ããããã¨ããã¹ã¿ã¤ã«ã§ãã
ã¡ãªã¿ã«ä»åã®ã¹ã¤ã¼ãã¯Harbs ã®ã©ã ã¬ã¼ãºã³ãã¿ã¼ãµã³ãã±ã¼ãã¨ãã§ã³ãµã³ãã¯ããã¼ã
ããã®å¥½ããªã®ã§ãèªåãé£ã¹ããã¦é¸ã³ã¾ããã
ãµãã¼ã¿ã¼
è¨èªã®ãµãã¼ã¿ã¼ã¨ãã¦
TDDBCãã
@tomy_kaira
@_nishigori
@irof
ãåå ãã¦ãã ããã¾ããã
ããããã¾ããã¼ã
éå¶çãª
ä»åã¯ããªãã®é¨åã@yokatsukiããããã£ã¦ãã ããã¾ãããèªåããã£ã¨ããã°ããã£ããªãã¨å¾ããåçãã¾ããã
æ¬å½ã«ããããã¾ããããããã¨ããããã¾ããã
æåã®ã©ã¤ãTDD
æåã«ãªãããã¨ã©ã¤ãTDDããã£ãããã§ãããã¾ãäºåæã¡åãããç¡ããåã®èª¿åã«ä¼ãããæãã§ãããããããã
ãã®ã¨ãã«ãã£ããã¨ã¯ããªããã©ã³ã¯ã«ãã£ã¦ããã®ã§ãå®éã«ã¯ãã£ã¨ç²¾ç·»ã«ãããããã¸ã¿ã«ãããªãã£ã¦ã¢ããã°ã§ãããã¨ãå¤ãã§ãã
ãã£ããã¨ã ãããªã¹ãããã¨
- ããã¸ã§ã¯ãèæ¯ç¹å® ->å®éã«ã¯ããªã¼ãã©ã¼ããããå¤ã
- ã¢ããªã®ä½¿ããæ¹ç¹å® ->å®éã«ã¯ããªã¼ãã©ã¼ããããå¤ã
- ãã¡ã¤ã³ã¢ãã«æ§ç¯ ->å®éã«ã¯ããªã¼ãã©ã¼ããããå¤ã
- ãã¹ãè¦æ±åæ ->ããã ãã¯ãã¤ã³ãããããã¼ã«ã¤ãããã¨ãå¤ã
ããã ãããã®ã«25åã¤ãã£ããã©ãããã ããã©ã³ã¯ã«ãã£ã¦ã25åãããããã§ãããã¹ããã¨ã¯ãã£ã¨ãããã精緻ã«ãã£ã¦ããããã¨åã¯æéããããã¾ãã
ãã®ã¨ãã«ããã¦ããªãã£ããã¨ã¨ããã°ãå¨åº«ç®¡çé¨åãDBã«ç½®ãæããäºã£ã¦æ³å®ãã¦ãã¾ããã£ãã¼ï¼ã¨ããæ¸ããã¦ããäºãå®è£
ãã¦ããã ããªãããã ã®ã³ã¼ããã³ãã£ã¼ã¨å¤ãããªãã§ããè¨èªã楽ããã ããªãããã§ãããã ãããã©ãã
ã¾ããã³ã¼ã以å¤ã®ããããã®ããã¼ã¸ã§ã³ç®¡çããæåã«ãªãã°ããã®ã«ãªã£ã¦ãã¤ãæãã¾ãã
ãããã¸ãã¯ãã¾ã SCMã¨ãALMã¨ããæåãæ ¹ä»ãã¦ããªãã®ã ãªãã¨å®æãã¾ãã
SVNæä»£ãªãã¾ã ãããDVCSæä»£ã«ããã¦ãèªåã®è¨é²ãåããªããªãã¦ããããªãã£ãã
ä»ã®æ¹ã®TDDãè¦ã¦ãã¦
RSpecã¯ãã£ã±ãæ¸ãæãããªã¼ã£ã¦æãã¾ããä¸ãã¡ã¤ã«ã«ã©ããããã®ãã¹ããæ¸ãããããæ©ãã®ã§ããããªFW触ããªãããªã£ã¦æãç´ãã¾ããã
GitHubPagesã使ãäºã§JSã®ãã¹ããæµãã¨ããã®ã¯çºæ³ã®è»¢æã ãªãã¨æãã¾ãããç´ æ´ãããã§ããã
Haskellã¯ããããããªãã£ãw 話ãããããã©ãå人çã«ã¯QuickCheckã使ã£ã¦ãã°ã®å½ãããè¦ã¤ããã¨ããã®ã楽ã§ãããã¼ã¨ã¯æããQuickCheckã¯ãæ§è³ªãæå¾
å¤ãæ³å®ãã¦ãã¹ããããã®ã§ã¯ãªããã¨ããããå®è¡ãã¦ã¿ã¦æ§è³ªããã°ãè¦ã¤ãããã®ã«ããã便å©ã§ãããç¨åº¦å¯¾è±¡ã宿ãã¦ããããQuickCheckã®ã³ã¼ããã¡ããã¨ä½ãããã©ããã¯å¥½ã¿ã ã¨æãã
æ¼ç¿ãè¦ã¦ããã
ãã¤ã®ã¾ã«ãGroovyãæå¤§å¢åã«ãªã£ã¦ããããªããJavaããGroovy転åã3人ãããã
Groovy人æ°å端ããã
æå¾ã®ã©ã¤ãTDD
ãæåã³ãããã許ãããã®ã¯å°å¦çã¾ã§ã ããã¼ãã¨ãããã¨ã§ãã±ããé§åéçºçèªåã³ãããTDDãæ«é²ãã¾ããã
ã¾ãã«åºåºç¾å®ç¬¬6層ã§Gistã«ããã¦ããGroovyã¹ã¯ãªããã§ããã
ãã£ã¦ãããã¨ã¯
ã¦ã¼ã¶ã¼ãGroovyã¹ã¯ãªãããèµ·åããã ãã§ä»¥ä¸ã®ãã¨ãããã¾ãã
- èµ·å弿°ã®ãã©ã³ãã使
- æ°ç§æ¯ã«ãã¡ã¤ã«å¤æ´ãç£è¦
- ãã¡ã¤ã«ã夿´ããã¦ãããGradleã§ãã«ãå®è¡
- ãã«ãçµæãæåãããã³ã¡ã³ãã«"green"ã失æããã"red" ã§ã³ããã
- å¼ãç¶ããã¡ã¤ã«ãç£è¦ãã¦ãããã¨ç¹°ãè¿ã
ãã©ã³ãå
ã§ã®ä½æ¥ãçµãã£ãããã¹ã¯ãªãããçµäºãã¦ãhg histeditã§ã³ããããæ´çãã¦ããã¼ã¸ãã¦pushãã¦çµäºã
ã©ããªã·ã¹ãã ãã¤ãã£ã¦ãããã«ãããã¾ãããã¹ã¯ãªããã§åºæ¥ãéãã®ãã¨ãæ¯æ´ãããã使ã£ã¦ããITSã«ãã©ã°ã¤ã³ã¤ãã£ã¦åºæ¥ãéãã®ãã¨ãæ¯æ´ããã®ã¯éè¦ã§ãã
DVCSã®ã³ãã³ããæã¤äºãä»äºãããªãã§ããããã
ã©ã¤ãã§è¦ããã®ã¯ãããã¯ãã©ã³ãã使ãããã¼ã¸ã§ã³ã§ããããcompile_red, test_red, green ãã©ã³ãã§ããæ¹æ³ãããã¾ããã¾ãå¥ã«ãã©ã³ããããªãã£ã¦ã³ãããã³ã¡ã³ãã§ãããã¨æããã§ããã©ãã
ãã¶ããã©ã³ãã§ããã¨ãhgã§ã¯ã§ãããã©ãgitã§ã¯ã§ããªãã®ã§ãæ±ç¨çã«ãããªãã³ãããã³ã¡ã³ãã§åºå¥ããããæ¹æ³ã ã¨æãã¾ãã
(hgã®ãã©ã³ãã¯ãªãã¸ã§ã³ãé£ç¶ãã¦ããå¿
è¦ããªããã©ãgitã®ãã©ã³ãã¯é£ç¶ãã¦ããå¿
è¦ããã
ã¾ããã®è©±ã¯ LLDecadeã§ããã¾ãã®ã§ãèå³ãããæ¹ã¯è¦ã«æ¥ã¦ãã ããã
æè¦ªä¼
@joker1007ãããé¢ç½ãæ¹ã ã¨ããããã£ãã®ãåç©«ã§ããï¼ã
ãã¨ããã£ã±ããªãã ãã©ã忥ã«å¼ãç¶ãã¦æã£ãã®ã¯@tomy_kairaããã®å®åãé«ãäºã§ãããè¦ç¿ãã¾ãã
æå¾ã«
åå ãã¦ãã ãã£ãçããæ¬å½ã«ãããã¨ããããã¾ãããåå¼·ã«ãªãã¾ããã
ããã¦ãäºæ¥éä¸ç·ã«ããã°ã£ã¦ãããã@pocketberserkerã@tomy_kairaã@irofã@inda_re ãããããã¨ããããã¾ããã
ä¼å ´æä¾ãã¦ãã ãã£ããªã©ã¯ã«ãããæ¯åº¦ã®ãã¨ã§ãããããã¨ããããã¾ããã
ä»åº¦ã¯SQLåºç¤åå¼·ä¼ã§ãããããã§ãããï¼ã