Ãö©ó XP(eXtreme programming)

XP¡]eXtreme Programming¡^¤¤¤åͬ°¡y²×·¥¡z¡B¡y·¥ºÝ¡z¡B¡y·¥­­¡zªºµ{¦¡³]­p¡]©Î½sµ{¡^¡C¤£ºÞ¬O­þ¤@­ÓͦW³£¤£­«­n¡A¥u­n¤£§â¥L»P Windows XP ·d²V´N¦n¡C

XP ¬O¥Ñ Kent Beck ©ó 1996 ¦~¥Nªì´Á´£¥X¡CKent Beck ¬O¤@­Óµ{¦¡³]­p®v¡A¥L¥Hµ{¦¡³]­p®vªºÆ[ÂI¬Ýµ{¦¡³]­p³o¶µ¤u§@¡Cªø´Á¥H¨Ó¡Aµ{¦¡³]­pªº¤u§@¨ü¨ì¦º¤`½u¡]dead line¡^ªºÀ£­¢¡A¥L­Ìªº²£¥X©¹©¹µLªk¹F¨ìÀ³¦³ªº«~½è¡CXP ±q¤Hªº¥»½è¦Ò¼{¦p¦óÅýµ{¦¡³]­p®v¡A¥i¥H¦³´LÄYªº¤u§@¡A¦Ó¦P®É¥i¥H²£¥X°ª«~½èªº³nÅé¡CXP ªººë¯«¥i¥H»¡¬O¹ê½î Agile¡]¤¤¤åͬ°±Ó±¶¡B»´¶q¡BÆF¬¡¡B»´§Ö¡^³nÅéµo®i«Å¨¥ªº¥|¶µ»ù­ÈÆ[¡G¡y­Ó¤H¤Î¬Û¤¬¥æ¬y³Ó¹L³nÅé¤uµ{©M¤u¨ã¡z¡B¡y¥i¹B¦æªº³nÅé³Ó¹L§¹¾ã¼s³Õªº¤åÀÉ¸ê®Æ¡z¡B¡y»P¥Î¤á¦X§@³Ó¹L¦X¬ù½Í§P¡z¡B¡y¦^À³ÅܤƳӹLªA±q­pµe¡z¡C

XP ´£¥X¤F 12 ¶µªº°ò¥»¹ê°È§@ªk¡A§Ú­Ì¥i¥H»¡ XP ¬O¤@ºØ¤èªk½×¡C¦ý§O§â³o¨Ç¹ê°È§@ªk¡]¦³¨Ç¤HÁÙ´£¥X¤@¨Ç¨ä¥Lªº¹ê°È§@ªk¡^·í¦¨ XP ªº­«¤ß¡CÁöµM³o¨Ç¹ê°È§@ªk«Ü­«­n¡A¤]«Ü°È¹ê ¡A¥i¥HÀ°§U§A§ä¨ì¶i¤J XP ªº¸ô®|¡C¦ý¾Ç²ß XP ¤Î¨Ï¥Î XP¡A§óÀ³­«µø¥¦ªº°ò¥»²z½×°ò¦¬[ºc¤Î»ù­ÈÆ[¡C¾Ç²ß XP ¥i¥H±q¹ê°È§@ªk¤Jªù¡A¦ý§O§â§A­­¨î¦b³o¨Ç¹ê°È§@ªk·í¤¤¡C¹ê°È¤W¾É¤J XP ¤]¬O±q¹ê°È§@ªk¶}©l¡A¦ý¤]¥²¶·¦P®É¹ª»Rµ{¦¡³]­p®v¡A¥L­Ì­n¦³´LÄYªº¤u§@¡A¥L­Ì¯àÃÒ©ú¥L­Ì¬O¥i¥H¹F¦¨«È¤áªº»Ý¨D¡C¬Û«H°ß¦³¦p¦¹¡A¤~¯à¯u¥¿¹ê²{ XP ªº»ù­È¡C

§Ú­Ì±N XP ¬ÛÃöªº¤å³¹»`¶°¦b³o¸Ì¡A¥H¤è«K¹ï XP ¦³¿³½ìªº¦P¦n°Ñ¦Ò¡A¤]§Æ±æ¦U¦ì¦P¦n¦h¦h´£¨Ñ¬ÛÃö¤å³¹¡A¤Î¹ê¬I XP ªº¸gÅç¤Î¤ß±o¡C§Ú­Ì±N¬ÛÃö¤å³¹¤À¦¨¤T­Ó³¡¤À¡G

³o­Ó±MÄæ¥D­n¬O¦¬¶°¤Î½Ķ¤¤¥~µÛ¦W¾ÇªÌ±M®a¡A°w¹ï XP ©Òµoªíªº¦UÃþºëªö¤å³¹ ¡A¥H¨Ñ¦U¬É¦P¦n°Ñ¦Ò ¡C·íµM¡A­Y¨ä¤¤¦³©Ò¿òº|©Î¤£¥¿½T¤§³B¡A¤]§Æ±æ´£¥XªÈ¥¿¡C³o¨Ç¤å³¹¦³¨Ç¬O¡yÂIªÅ¶¡¡zªº¦¨­û©Ò¼¶¼g¡A©Î±qºô¤Í¡B¦P¦n³B¦¬¶°±o¨Ó¡Aª©Åv©Ò¦³¡A¬G¥¼¸g¦P·N¤£±o¥H¥ô¦ó¤è¦¡³Q¶Ç°e©Îµo¦æ¡C

XP ²z½×

¼ÐÃD&¤º®eºK­n ¸ê®Æ¨Ó·½&§@ªÌ ÂàͮսZ µoªí¤é´Á
Agile³nÅé¶}µo¡G¬°¦ó³o»ò¼öªù¡I

Agile Software Development: Why It's Hot!

[¤º®eºK­n]

Agile ¡A¦pJim Highsmith¦b³o½g¤å³¹¤¤«ü¥Xªº¡A¦b§Ú­Ìªº©P¾D³£¥i¥H¬Ý¨ì¥¦ªº¼v¤l - ¦Ó¥B¨Æ¹ê¤W¤w¸g¦s¦b¤@¬q®É¶¡¤F¡C¦ý¬O¬°¤°»ò©¿µM¶¡Åܱo¦p¦¹¼öªù¡H

Jim Highsmith Areca Chenͧ@

¦ó©ú»· ®Õ½Z

¡@

2003/12/15
·¥­P³nÅé»sµ{(«e¨¥¡B§Ç¡BĶ§Ç¡B²Ä¤@¦Ü²Ä ¤C³¹)

Extreme Programming Explained

[¤º®eºK­n]

´N¹³³o¥»®Ñ«Ê©³©Ò¼gªº¡u³nÅé±M®×ªº¶}µo¤u§@¥i¥H«Ü¦³¼Ö½ì¡B«Ü¦³²£¯à¡B¬Æ¦Ü«Ü¤jÁx¡C»P¦¹¦P®É¡AÁÙ¥i¥H¹ï¥ø·~²£¥Í·½·½¤£µ´ªº°^Äm¡AÅý¾ã­Ó±M®×¤£­P¥¢¥h¤è¦V¡v¡CeXtreme Programming ÁY¼g¬° XP¡A¥»®ÑͦW¬°·¥­P³nÅé»sµ{¡A¨ä¤D°w¹ï¤p«¬¶}µo¹Î¶¤©Ò³]­p¥X¨Óªº¤èªk½×¡A³Ð©lªÌ Kent ¦b³o¥»®Ñ¤¤¸ÔºÉªº´y­z¥L¹ï XP ªºµo®iºc·Q¡B»ù­ÈÆ[¡B°ò¥»­ì«h¥H¤ÎºØºØµ¦²¤¡A¦p¥L§Ç¤å¨¥¤Î³o¥»®Ñ¡u­I«áªº¤@¨Ç·Qªk --- ¥¦ªº½t°_¡B­õ¾Ç¡B¬G¨Æ¡B©M°g¥¢¡v¡A³o¤]¬O¥L±q¨Æ³nÅé¶}µo¡u±Ð½m¡v¦h¦~¡A¹ï©ó¦p¦ó¼g¥X¥i¥H¥æ³f¡A­ÝÅU«~½è©M®É®Ä¡A©Ò»Ý­nªº³Ì¨Î¹ê½îªk«h¡C

XP ³oºØ»´¶q¯Åªº¤èªk½×¡A¬D¾Ô³nÅé¶}µo¤¤³\¦h¶Ç²Îªº«H±ø¡A´«¨¥¤§¡A¥¦¥iÅýŪªÌµø³¥¤@·s¡A±Ä¨ú¤£¦PªºÆ[ÂI¨Ó­±¹ï³nÅé¶}µo¡C¦pªG·Q­n¤F¸Ñ XP¡A´N¤£¯à¿ù¹L¥»®Ñ¡Aťť¥»´Lªº²{¨­»¡ªk¡C

Kent Beck

First Class ³nÅ餽¥q¾Ö¦³ªÌ¤Î¸gÀçªÌ

§õ¼ç·ç

¥»®ÑĶªÌ(¥Ø«e³o¥»®Ñ¥Ñ¥xÆW°ö¥Í¥Xª©ªÀµo¦æ)

2002/10/31
·¥ºÝ³nÅé»sµ{±´¯Á½g(Ķ§Ç¡B²Ä¤@¦Ü²Ä¤T³¹¡B°Ñ¦Ò¤åÄm¤Îµù¸Ñ)

Extreme Programming Explored

[¤º®eºK­n]

³o´X¤Ñ¬Ý¤F¤×§J±j±Ð±Â©ó¡m³Ð·s§Y¤¤±e¡H¡n¸Ì¡A½Í¨ì¥L¹ï¤¤±e¤§¹Dªº·s¸Ñ¡A§Y¬O¡u¦b®Ú¾Ú¨Æ±¡ªº¥»½è±Ä¨ú¤£¦Pªº­ì«h¡A¦Ó«D¥Ã»·¦a«O«ù¤¤¶¡¡v¡A¦P®É¥L»{¬°©Ò¿×ªº³Ð³y©Ê¤Hª«¡A¥¿¦]¬°¥L­Ì³e¹ý¦a¹ê½î¡u¤¤±e¤§¹D¡v¡A¬G¯à¨Ì¾Ú±¡¶Õ¡u±q¤@ºØ©Ê®æ·¥ºÝÂà¨ì¥t¤@­Ó·¥ºÝ¡v¡C¨ä¹ê¡AµL½×¬O§Ú­Ì¹L¥h©Ò»{ª¾ªº¡A¦p Kent ªº¡u¾Ç²ß¾r¾p¡v¡A®É®É­×¥¿¤è¦V¡A¥H½T«O¡u¸ô½u¥¿½T¡v¡A¤£°¾²¾¥¿¹D¡A¥ç©ÎªÌ¬O¤×±Ð±Âªº¡u³Ð·s§Y¤¤±e¡v¸Ì®i²{ªº·Qªk¡A¨âªÌ¨Ã¤£¬Û®¯¡C«áªÌ©Ò­«ªº¬°¡u¦]®É¨î©y¡v¡A¶·¨ÌÀô¹Ò±ø¥óªº¤£¦P¡A­×¥¿°µªk¡A§Y¨Ï¬O·¥ºÝªº¤£¦P¡F«eªÌ«h·í»{²M¤è¦V«á¡A®É®É«O«ù±Mª`¡A°È¨Ï¦Û¤v¤£°¾Â÷¥¿¹D¡C¨ä¹ê¡A¨âªÌ¬Ò¬°¡u¤¤±e¤§¹D¡v¡C

XP Áö¦W¬°¡u·¥ºÝ³nÅé»sµ{¡v¡AµM¦Ó¦¹¤@¡u·¥ºÝ¡v¡A¤Ï¦ÓÅãÅS¨ä¯à¡u¦]®É¨î©y¡v¡C±´¯Á½g¤¤¡AĶªÌ(§õ¼ç·ç)Á|­ð©vº~¥ý¥Í©Ò¨¥¡u±´¯Á¡A¤£¬O¨Ì´`©Î­À®Ä¡C±´¯Á¡A¬O§A¦Û¤vªº±´¯Á¡C¡v§Ú¥H¬°¡A¥i§@¬°³o¥»®Ñªº³Ì¨Îµù¸Ñ¡C
¡@
  • ͧÇ
    (¡F506,118 bytes)
  • ²Ä¤@³¹¡G¦p¦ó¼g¤@¤äµ{¦¡
    (¡F710,085 bytes)
  • ²Ä¤G³¹¡G¤°»ò¬Oµ{¦¡­«¾ã
    (¡F788,524 bytes)
  • ²Ä¤T³¹¡GXP ªº¹Î¶¤¹ê°È
    (¡F767,211 bytes)
  • °Ñ¦Ò¤åÄm¤Îµù¸Ñ
    (¡F415,362 bytes)

William C. Wake

Agile Software Coach

§õ¼ç·ç

¥»®ÑĶªÌ(¥Ø«e³o¥»®Ñ¥ÑùÖ®p¸ê°Tµo¦æ)

2002/10/9
Ãk©¥©M·¥­­½sµ{¡]XP¡^

­ì¤å¡GRock Climbing and Extreme Programming()

[¤º®eºK­n]

³o½g¤å³¹¥HÃk©¥¨Ó´y­z XP ªº¹ê²{¡A§@ªÌµo²{·¥­­½sµ{ªº³\¦h«ä·Q¡A«Ü¾A¦X©óÃk©¥¹B°Ê¡A¦Ó¥B§@ªÌ¦bÃk©¥¹B°Ê¤¤¡AÅé²{¤F³o¨Ç·Qªk¡C

 

Ye Yongqing
IT department, Europeloan Bank
¼BÚ] ͧ@

¦¶¤l ½s®Õ

2002/8/5
¡mExtreme Programming Explained¡nͧÇ

[¤º®eºK­n]

³o¬O¤@¥»¨ë¿Eªº®Ñ¡A¥¦©ÜÅS³\³\¦h¦hÅå¤H¦Ó¤Ï¶Ç²ÎªºÆ[ÂI¡A¹ï¥¿³Wªº³nÅé¤uµ{³Ì¨ã¬D¾Ô¨ý¹Dªº¡A²ö¹L©ó¡y³nÅé§ïÅܦ¨¥»¤£ÀH®É¶¡¤j´T¼W¥[¡zªº¬Ýªk¡C­nª¾¹D¡A³nÅé³Ì¤jªº¼Ä¤H¦b©óÅܰʡA¬Æ¦Ü¥i¥H»¡¡A­Y¯à´£¥X¦¨¥\¹ï§ÜÅܰʪº³nÅé¤èªk¡A´NºâÁٺ٤£¤W¬O¡y»È»s¤l¼u¡z¡A³Ì¤Ö¤]¥i¥HÅý±M®×­·ÀI¡y¼È®É°±¤î©I§l¡z¦n¤@°}¤F¡C

§õ¼ç·ç §õ¼ç·ç 2002/5/27
±qCMMµø¨¤¬Ý²×·¥½sµ{

Extreme Programming from a CMM Perspective

[¤º®eºK­n]

²×·¥½sµ{(XP)ªñ¨Ó¤w³Q·í§@¤@ºØ¾AÀ³§Ö³t¦hÅܪººô»Úºô¸ô¥@¬É©Mºô¸ô³nÅé¶}µoªºµ{¦¡³]­p¤èªk¦Ó¨ü¨ì­Ò¾É¡C¥»¤å±q³nÅé¯à¤O¦¨¼ô«×¼Ò¦¡(²ºÙCMM¡A¬O¬°³nÅé¾÷ºc³W©w¶}µoµ{§Ç§ï¶iÀu¥ýªº¤­¯Å¼Ò¦¡)ªºÆ[ÂI­«·sÀ˵ø³o¤@¼s¨üÅwªïªº¤èªk½×¡A·§­zXP©MCMM¡A¨Ã±q³nÅéCMM¨¤«×¹ïXP§@¥Xµû½×¡Cµ²½×¬O¡G¤@¨Ç¦Ð¶q¯Åªº¤èªk½×¡A¦pXP¡A­Ò¾É¤F³\¦h¨}¦nªº³nÅé¤uµ{ºD¨Ò¡A¦ý¬O¤@¨ÇºD¨Ò©|¦³ª§½×¡A¥B¦pªG¦b¨Ï¥Îªº®É­Ô¶W¥X¨ä¯U¯¶ªº¾A¥Î½d³ò«á¡A¨Ï¥Î°_¨Óªº®ÄªG«h¾A±o¨ä¤Ï¡C¥Ñ©óXP¥i¥H³Q¥Î¨Ó³B²z«Ü¦hCMM²Ä¤G¯Å©M²Ä¤T¯ÅªººD¨Ò¡A¹ï¶}µoµ{§Ç§ï¶i¦³¿³½ìªÌÀ³¥J²Ó¦Ò¼{«á¤è¯à±Ä¥ÎXP¤¤ªºÆ[©À¡A±N¨äÀ³¥Î©ó³nÅé¾÷ºcªº°Ó·~Àô¹Ò¤¤¡C¤Ï¨¥¤§¡A¨Ï¥ÎXPªº¾÷ºc¤]À³¥J²Ó¦Ò¼{CMM´y­zªººÞ²z©M°ò¦µ²ºc°ÝÃD¡C

 

Mark C. Paulk

³nÅé¤uµ{¬ã¨s©Ò

¥d¤º°ò` ±ö¶©¤j¾Ç

¡@


¨HĬ«n

¦¶Ùy

¦¶¤l

¡@

2002/4/15
ºË·Ç¡B®gÀ»(Aim, Fire)

­ì¤å

[¤º®eºK­n]

«Ü¦h¤H§åµûXP¬O¡y¥ý®gÀ»¡B¦AºË·Ç¡z¡AXPªº³Ð©l¤HKent Beck¤]´¿¸g¦b¨äµÛ§@·í¤¤»¡©úXPªº½T¬O¡y¥ý®gÀ»¡B¦AºË·Ç¡z¡A¦Ó¥B¬O¤ñ¡y¥ý®gÀ»¡B¦AºË·Ç¡zªº¦n¡C¤£ºÞ¬O¥ýºË·ÇÁÙ¬O«áºË·Ç¥D­nªº­«ÂI¬O©Ò¿×ªºªººË·Ç©Ò«üªº´N¬O¡y³]­p¡z¡CXP¤£¨Ï¥Î¤@¯ë¶}µo¤è¦¡¨Ï¥Î¡y«e¸m³]­p¡z¹w¥ý¹ï¨t²Î¬[ºc§@³]­p¡C

¦b¥»¤å¤¤Kent Beck´£¥X¤F¤@­Ó·sªºÆ[©À¡A¤]´N¬O¦b¦³ªº²z½×¤¤¡y¥ý¼g´ú¸Õ(test-first)¡z¤]´N¬O¥Nªí¤F¡y³]­p¡zªº·§©À¡C¦]¬°¥ý¼g´ú¸Õ­¢¨Ïµ{¦¡³]­p®v¹ï¨t²Î¬[ºc¥²¶·¦³ÂA©úªº¤F¸Ñ¡A¨äµ²ªG¤]´N¬O¡y³]­p¡zªº·§©À¡C ©Ò¥HXP¤]¥i¥H»¡¬O¡y¥ýºË·Ç¡B¦b®gÀ»¡z

Kent Beck
(¥»¤å¤wÀòKent Beckªº±ÂÅv½Ķ¨Ã¤½¥¬©óºô­¶¡C)
Areca Chen 2002/1/15
»PKent Beck¹ï½Í¹ê¿ý

­ì¤å

[¤º®eºK­n]

¥ÑUML China©ó2001¦~12¤ë7¤éÁ|¿ì»PXP³Ð©l¤HKent Beck¹ï½Í¹ê¿ý¤§¤º®e¾ã²z¤Î½Ķ¡C

UML China

¥»¤å¤wÀòUMLChina¦P·N¥Zµn¡C

Areca Chen 2001/12/17
XP:§Ûªñ¸ôªº¸Þ­p
Doug Rosenberg¤ÎKendall Scott¹ï©óXPªº½èºÃ

­ì¤å

Pdf ª©¥»(793KB)

Zippedª©¥» (599KB)

[¤º®eºK­n]

XP¬O·s¿³ªº¤@­Ó³nÅé¶}µoµ{§Çªº¤èªk½×¡C¨ä¤¤­È±o½èºÃªº¦a¤è¬Û«HÁÙ¬OÆZ¦hªº¡C¥H¤£¦Pªº¨¤«×¨Ó¬ÝXP¹ï©ó·Q±Ä¥ÎXP¤èªk½×ªº¤H¦Ó¨¥¡A³o½g¤å³¹´£¨Ñ¬Û¹ïªº¨¤«×¨Ó¬ÝXP¡CÁöµM§@ªÌ©Ò«ùªº½×ÃÒ¥i¯à¦³¨Ç°¾»á¤]¥¼¯à²`¤J½×ÃÒXPªº°ÝÃDÂI¡C¦ý¬O³o½g¤å³¹­È±o§Ú­Ì¾\Ū¤§³B¤D¦b©ó¹ï©ó¥ô¦ó¨Æª«ªº½èºÃ¬O¤£¥iÁ×§Kªº¡C¥ô¦ó¤èªk½×³£¦³¨äÀu¯ÊÂI¡A§Ú­Ì¦p¦ó±Ä¥Î¨äÀuÂI¦ÓÁ×¶}¨ä¯ÊÂI¡C¦P®É§Ú­ÌÀ³¸Ó¾Ç²ßªº¬O¦b§åµû§O¤H®É¦p¦ó§â¦Û¤vªº½×ÃÒ°µªºÅý¤H«HªA¡F­Ó¤H»{¬°³o¤~¬O­«ÂI¡C

Thanks for visiting us
Doug Rosenberg,
Kendall Scott

(¥»¤å¤wÀòMark Collins-Copeªº±ÂÅv½Ķ¨Ã¤½¥¬©óºô­¶¡C)

¡@

Areca Chen

¡@

2001/12/12
¤ÀªR¡G¡uXP¡v¯à§_¶i¦æ¤j³W¼Ò³nÅéµo®i

µo§G®É¶¡¡G2001-07-04 15:51:56

¤é¸gBPªÀ ¦¶¤l´£¨Ñ 2001/11/5
»P§@ªÌRobert C. Martin²`«×§Þ³N³X½ÍÃö©ó²×·¥»sµ{

In-depth technical interview with author Robert C. Martin on eXtreme Programming

­ì¤å¡G

Pdf ª©¥»(669KB)

Zippedª©¥» (458KB)

[¤º®eºK­n]

Robert C. Martin¬OObjectMentorÁ`µô, ª«¥ó¾É®v(Object Guru), ¡y C++ Report ¡zªº½s¿è¤Î¡y Designing Object-Oriented C++ Applications using the Booch Method¡zªº§@ªÌ¡C¥»¤å¬O¥ÑMark Collins-Cope¸ß°ÝRobert C. Martin¦^µª¡CRobert C. Martin¦b¹ê°È¤W±Ä¥ÎXP¶}µo³nÅ骺¸gÅç»P²z½×¤Wªº¬MÃÒ¸g¥ÑMark Collins-Cope¤@°w¨£¦åªº¸ß°Ý±o¥H¤@¤@ÄÄ­zªº²OºvºÉ­P¡CXPªºµo®i®É¶¡¤£ªø¡A¹êÃÒ¤Wªº¨Ò¤l¤£¦h¡A³o½g¤å³¹´£¨Ñ·R¦nXP¦Ó¹ïXP¦³©ÒÃhºÃªºÅªªÌ¤@­Ó¬Û·í¦nªº¬MÃÒªº¾÷·|¡C

Thanks for visiting us

Mark Collins-Cope

(¥»¤å¤wÀòMark Collins-Copeªº±ÂÅv½Ķ¨Ã¤½¥¬©óºô­¶¡C)

¥»Ä¶¤å¥çìRATIO¤½¥¬©ó¨ä§Þ³N¹Ï®ÑÀ]ªººô­¶¤W

¡@

Areca Chen 2001/10/31
¦p¦ó³W¹ºXP±M®×

Planning Extreme Programming: The XP Series

[¤º®eºK­n]

³o¥»®Ñ¬OThe XP Series¨ä¤¤¤§¤@¡C³o¬O¤@¥»¦³Ãö³W¹º³nÅé±M®×ªº®Ñ¡C¥D­n¬O¬°±M®×ºÞ²zªÌ©Ò¼g¡F¥L­Ì¥²¶·³W¹º¤ÎºÊ·þ¹ê»Úªº¬ÛÃö³W¹º¤u§@¡C·íµM³o¥»®Ñ¤]´£¨Ñµ{¦¡³]­p®v¤Î«È¤á¡F¥L­Ì¬O§êºt³W¹º¤Î¶}µo³nÅ骺¹êÅ骺¨¤¦â¡C

¡]¥»¤å¦]¥¼¨ú±o­ìµÛªÌ±ÂÅv¶È­­¶i°º·|­û¾\Ū¡A¤@¯ë·|­û¤Îºô¤Í¥u­­¤@¦Ü¤T³¹¡C¡^

Kent Beck

Martin Fowler

Areca Chen 2001/10/10

¡@

¸ÑªRXP(XP Distilled)

[¤º®eºK­n]

¥h¦~®L¤Ñ¦b¦P¨Æªº¼vÅT¤U¶}©l±µÄ²³nÅé¤uµ{ªº¸ê°T¡AUML¡BRUP¡B¤èªk½×... ¤@¤Á³£¬O¨º»ò·sÂA¡C°¸µM¶¡¬Ý¨ì XP ³o¼Ëªº¦Wµü¡A°Ñ¦Ò¤F XP Distilled ³o½g¤å³¹¤§«á·Pı¨ì¡ARUP ¥H¤Î UML ªº¤JªùÂe¦ü¥G°ª¤FÂI¡A¦Ó¥B¨º»ò¦h³W½d¡B°µªk¡A¦p¦ó¯à°÷¦bµu®É¶¡®ø¤Æ
¤§«á¡A¶i¦Ó¿ï¾Ü¡B¦w±Æ¾A¦X¤u§@Àô¹Òªº¬yµ{°µªk©O¡H¦Ó XP «o¯à°÷§ì¦í Internet ®É¥N³nÅé¬ãµoªº§Ö³t©MÅܤƵ¥ºë¯«¡A´£¥X¥O¤HÅDÅD±ý¸Õªº§Þ¥©¡A³o´N¹³¬O¦b·W¶Ãªºµn¤s¨B¹D¬Ý¨£¤s¤Í¯d¤Uªº«ü¤Þ¤@¯ë¡A«üÂI§Ú­Ì¤@±ø¥X¸ô¡C´NÅý§ÚÀ°¤j®a¸`¬Ù¤@ÂI®É¶¡¡A±NXP Distilled ³o½g¤å³¹Â½Ä¶¦¨¤¤¤å¡A¨Ã¨ú±o§@ªÌ¤§¤@ Roy Miller ªº±ÂÅv¡A¦Ó±o¥H©M¤j®a¤À¨É³o¼Ëªº¸ê°T¡C³o½g¤å³¹©|¥¼¸g¹L¥J²Ó®Õ½Z¡A¦pªG¦³¥ô¦ó«ØÄ³¡AÅwªï¼g«Hµ¹§Ú«ü±Ð¡C

Chris Collins(Senior Software Developer, RoleModel Software, Inc.)

Roy Miller(Software Developer, RoleModel Software, Inc.)

Daimler Huang

[¼x¨D®Õ½Z]

ªì½Z2001/09/26
±ÀÂ˳sµ² §õ¼ç·çªºXPºô¯¸ §õ¼ç·ç §õ¼ç·ç 2001/09/26
²×·¥»sµ{eXtreme Programming(XP)

[¤º®eºK­n]

      XP¬O¥Ø«e¬Û·í¼öªùªº¸ÜÃD¡CXP¬O¥ÑKent Beck©ó1996¦~¥Nªì´Á´£¥X¡C¥L»PWard Cunningham¦@¦P¤u§@¤@¬q®É¶¡¡A¥Ñ©ó³nÅé¶}µoªº¸gÅç§Æ±æ´£¥X¤@­Ó¤ñ¸û²³æ¨Ã¦³®Ä²vªº¤èªk¡C·íªìKent«ä¦Ò¤°»ò¬OÅý³nÅé®e©ö«Øºcªº¦]¯À¡F¤°»ò¬OÅý³nÅé§xÃø¥ó°÷ªº¦]¯À¡C1996¦~Kent±µ¨ü DaimlerChryslerªº±M®×¨Ã¶}©l¨Ï¥Î·sªº·§©À¶}µo³nÅé¡C¥H¦Ó½Ï¥Í¤FXPªº¤èªk½×¡C

      Kent©Ò»{ª¾ªº­n§ïµ½³nÅé±M®×¦³¥|ªº¤è¦V¡A§A»Ý­n§ïµ½·¾³q¡A§A¥²¶·§ä´M²¤Æªº³~®|¡A§A»Ý­nÀò±o¦^õX¥HÅý§A°µªº§ó¦n¡A§A»Ý°í«ù«i´±ªº¥h°µ¡C¡y·¾³q¡z¡y²¤Æ¡z¡y¦^õX¡z¤Î¡y«i®ð¡z¬OXP¥|­Ó¥D­nºë¯«©Ò¦b¡C

    XP¦b³W¹º¡B³]­p¡B½s¼gµ{¦¡¤Î´ú¸Õ¥|­Ó¶¥¬q¦@´£¥X¤F28±øÂ²³æªº³W«h¤Î¹ê°È§@ªk¡C¨Ã¹ï©ó¦p¦ó¾É¤JXP´£¥X¤F¤@¨Ç»¡©ú¡C³o¨Ç³W«h¡B¹ê°È§@ªk¤]À³¥Î¤F¤@¨Ç³nÅé¤uµ{ªº²z½×¦p³æ¤¸´ú¸Õ¡B¥i±µ¨ü´ú¸Õ¡B¾ã¦Xµ{¦¡½Xµ¥µ¥¡A¦ý¥¼²`¤J»¡©ú¨ä¹ê»Ú¤º®e¡C©Ò¥H³o¤@³¡¥÷»Ý­nŪªÌ¦Û¦æ¦A¥t¦æ¬ã¨s¡A¤]´N¬O»¡­ì§@ªÌ»{¬°ÅªªÌÀ³¸Ó¤w¤F¸Ñ¬ÛÃöª¾ÃÑ¡A¦ý³o¨Ã¤£¼vÅT¹ï©ó¥»¤åªº¤F¸Ñ¡A«áÄò§Ú­Ì¤]§Æ±æ¾ã²z¬ÛÃöªº³nÅé¤uµ{§Þ³N¡C 

  (Àɮ׸û¤j½Ð­@¤ßµ¥­Ô)

J. Donovan Wells

(¥»¤å¤wÀò­ì§@ªÌDon Wellsªº±ÂÅv½Ķ¨Ã¤½¥¬©óºô­¶¡C)

Areca Chen

·PÁ»¯¥ú¥¿®Õ½Z

ªì½Z2001/08/17

²Ä¤@¦¸®Õ½Z2001/08/22

²Ä¤G¦¸®Õ½Z2001/09/25

­«¾ã(Refactoring)

¼ÐÃD&¤º®eºK­n ¸ê®Æ¨Ó·½&§@ªÌ ÂàͮսZ µoªí¤é´Á
­«¾ã¡G§ïµ½²{¦³µ{¦¡½Xªº³]­p
Refactoring - Improving the Design of Existing Code

[¤º®eºK­n]

°ò¥»¤W³o¬O¤@¥»§i¶D§A¦p¦ó¼g¤@­Ó¦nªºª«¥ó¾É¦Vµ{¦¡ªº®ÑÄy¡C¥L§i¶D§A«ç¼Ëªºµ{¦¡¬O¤£¦nªºµ{¦¡¡]¤]´N¬O±Ð§A¦p¦ó»D¥Xµ{¦¡½Xªº¯ä¨ý¤Î¦³­þ¨Ç¯ä¨ý¡C¡^¦P®É¤]´£¨Ñ§A¤@¨Ç¤â¬q¥h°£³o¨Çµ{¦¡½Xªº¯ä¨ý¡C³o­Ó¤â¬q´N¬O¡y­«¾ã¡z¡]¤]¦³¤Hͦ¨¡y­«ºc¡z¡^¡C¦pªG§A·Q¼g¦nª«¥ó¾É¦Vµ{¦¡³o¬O¤@¥»¤¤¶¥µ{¦¡³]­p®v¥²Åªªº®Ñ¡C

§Ú­Ì¥Hµ§°OºK­n¤Î°Q½×ªº¤è¦¡§e²{­«¾ãªº·§©À¡A©Ò¥H§Æ±æÅªªÌ¬Ý§Ú­Ìªº¤º®e¤Î©Ò´£¥X°Q½×ªº°ÝÃD¡A¥i¥H±N§Aªº·Qªk¦bÂIªÅ¶¡°Q½×°Ï¤¤´£¥X»P¤j®a¬ã¨s¡C

Martin Fowler, Kent Beck (Contributor), John Brant (Contributor), William Opdyke, don Roberts
¡@
Areca Chen 2002/5/9
¶i¦æ¤¤.....
­«¾ã¡G¦bµ{¦¡°õ¦æ¤§«á¶i¦æ³]­p

­ì¤å¡GRefactoring: Doing Design After the Program Runs

[¤º®eºK­n]

³o½g¤å³¹¹ï­«¾ã(Refactoring)°µ¤F²µuªº¤¶²Ð¡A¥D­n½Í¨ì¬°¤°»ò»Ý­n­«¾ã¡A¥H¤Î¦p¦ó¨Ï¥Î¤â¤u¤è¦¡©Î¹B¥Î¤u¨ã¨Ó¶i¦æ­«¾ã¡C¥t¥~§@ªÌ¤]»¡©ú­«¾ãªº»ù­È¡A¦P®Éªí©ú¹ï­«¾ã§Þ³Nªº´Á±æ¡A¥H¤Î§iª¾§Ú­Ì¦p¦óÀò±o³o¤è­±§Þ³Nªº¬ÛÃö¸ê®Æ¡C

Martin Fowler
Chief Scientist, ThoughtWorks

¡@

¦¶¤l 2002/04/15
¨t²Î­«ºc ¡X §ïµ½¬J¦³³]­p(Refactoring ¤¤Ä¶¥»¤§§Ç¤å¡A«e¨¥¤Î²Ä¤@³¹)

Refactoring - Improving the design of existing code (Chapter 1: Refactoring, a First Example)

[¤º®eºK­n]

©Ò¿×ªº­«ºc(Refactoring¡FAreca ͬ°­«¾ã)¡AMartin Fowler ©ó®Ñ¤¤©w¸q¥¦¬O¤@ºØ¡u¦b¤£§ïÅÜ¥N½X¥~¦b¦æ¬°ªº«e´£¤U¹ï¥N½X°µ¥X­×§ï¡A¥H§ï¶i¥N½Xªº¤º³¡µ²ºc¡vªº¹Lµ{¡C²¨¥¤§¡ARefactoring ªº¥Øªº¤£¦b©ó¹ï¬J¦³ªº¥N½X¼W¥[·s¥\¯à¡A¦Ó¥u¬O¤£¼vÅTµ{¦¡¬J¦³¥\¯à¤Î¥¿½Tªº°õ¦æ¤U¡A§ïµ½µ{¦¡¥N½X¡C©Î³\ Refactoring ¹ï³\¦h¤H¦Ó¨¥¡AÅý¥L­Ì·P¨ì¬Û·íºÃ´b ªº¬O¡A³oºØ¦æ¬°¨s³º¯à§_±a¨Ó¥ô¦ó¯q³B¡HÃö©ó³o¤@ÂI¡A§Ú·Q´NÅý Fowler ¤Î Refactoring ªº§@ªÌ­Ì¨Ó¬°¦U¦ì¸Ñµª¡C

Refactoring ³o¥»®Ñ°£¤F¹ï¬J¦³µ{¦¡¥N½X¬°¦ó­n¶i¦æ­«¾ãªº²z¥Ñ¥[¥H»¡©ú¥~¡A¤]«ü¤Þ¦p¦ó¨Ó§PÂ_­þ¨Ç¥N½X»Ý­n¶i¦æ­«¾ã¡A¥H¤Î¦p¦ó¶i¦æ­«¾ã¡C§Ú­Ì¦b¦¹¶ÈºK¿ý«J±¶ªº Refactoring ¤¤Ä¶¥»ªº§Ç¤å¡B«e¨¥¤Î²Ä¤@³¹¡A¦p·Q§ó¶i¤@¨Bªº¤F¸Ñ¤¤Ä¶¥»ªº¬ÛÃö¸ê°T¡A½Ð°ÑÆ[«J±¶ºô¯¸¡C

Pdf ®æ¦¡ÀÉ(930K)

­ìµÛ¡G
Martin Fowler

¤¤¤åĶ¥»¡G
«J±¶

ͤå¨ú¦Û«J±¶ºô¯¸¤§¥ý¸@¬°§Ö

«J±¶ 2002/04/17
Joshua Bloch¡G³X½ÍÃö©ó³]­p

Joshua Bloch: A conversation about design

[¤º®eºK­n]

Bill Venners³Ìªñ³X°Ý¦ì©óSanta Clara, Calif.ªºª@¶§(Sun Microsystems)¾Ç°|ªºJoshua Bloch¡AJosh¬Oª@¶§Java®Ö¤ß¥­¥x¸s²Õªº«Øºc®v(Architect)¡C¦b³X½Í¤¤¡AJosh»¡©ú¹ï©óAPI³]­p¡BXP¡Bµ{¦¡½X«~½è¤Î¦A¨Ï¥Î¡B­«¾ã(refactoring)¡B «OÅ@½Æ»s(defensive copies)¤Î«È¤áµ{¦¡³]­p®vÀ³¸Ó³Q«H¥ôªº½d³òµ¥µ¥¦³¿W¨ìªº¨£¸Ñ¡C

Bill Venners Areca Chen 2002/01/14
­«½Æªºµ{¦¡½X(Duplicate Code)

[¤º®eºK­n]

Ãö©óµ{¦¡½X­«½Æ³ÌµÛ¦Wªº³æµü¬O Kent Beck ªº Once And Only One¡A¤]´N¬O»¡³nÅé¾Þ§@ªº¥ô¦ó¤@­Ó¤ùÂ_--¤£ºÞ¬O¤@­Óºtºâªk¡A¤@­Ó±`¼Æ¶°¦X¡A¥Î©ó¾\Ūªº¤å¥ó©ÎªÌ¨ä¥LªF¦è--À³·í¥u¥X²{¤@¦¸¡C
¡@

³nÅé­«½Æ¥X²{¦Ü¤Ö·|¾É­P¥H¤U°ÝÃD¡G

  • ¨ä¤¤ªº¤@­Óª©¥»·|¹L´Á¡C

  • µ{¦¡½Xªº³d¥ô·|¥|³B´²¶}¡A¾É­Pµ{¦¡½XÃø¥H²z¸Ñ¡C

  • ·í§A­×§ïµ{¦¡½X®É¡A»Ý­n­«½Æ­×§ï«Ü¦h¦a¤è¡A¤@¤£¤p¤ß´N·|¿òº|¡C

  • §A¤£¯à«Ü¦n¦a¶i¦æ©Ê¯àÀu¤Æ¡C

¥Û¤@·­

ºô¯¸¡G
ERP ¤§¹D

¡@

¦¶¤l 2001/11/14
­«¾ã:¤@­Ó¥O¤HÅå©_ªº§Þ³N¤§Àu¯ÊÂI

(Refactoring Benefits and Disadvantages of an Amazing Technique)

[¤º®eºK­n]

¬Æ»ò¬O¦nªºµ{¦¡½X¡H¬Æ»ò¤S¬OÃaªº µ{¦¡½X¡H¦p¦ó¤~¯à¶}µo¥X¦nªºµ{¦¡½X¡HRefactoring´£¥X¤F¤@­Ó·sªº¸Ñ¨M¤è®×¡C

Michael Hunger

Areca Chen 2001/11/30

´ú¸Õ(Test)

¼ÐÃD&¤º®eºK­n ¸ê®Æ¨Ó·½&§@ªÌ ÂàͮսZ µoªí¤é´Á
´ú¸Õ¤Jªù

[¤º®eºK­n]

¦b¶}µoµ{¦¡ªº¹Lµ{¤¤¡A¤j¦h¼Æªº®É¶¡¬Oªá¦b´ú¸Õ¤W¡A§@¬°¤@­Ó´ú¸Õ¤u¨ã¡AJUnit ¬O­Ó¦nªº¶}©l¡A¥¦¥»¨­¨ä¹ê¤£Ãø¡A¦ýÃø¦b¦p¦ó¸¨¹ê´ú¸Õ¡A¤j¦h¼Æªº®É¶¡¤¤¡A§Ú­Ì¤´²ß©ó¥ý¼¶¼g¦nµ{¦¡¡AµM«á¹B¦æ¥¦¨ÃÆ[¬Ýµ²ªG¨Ó°£¿ù¡A¯à°÷¼¶¼g´ú¸Õµ{¦¡¤wÄÝÃø¯à¥i¶Q¡A¯u¥¿¯à§@¨ì´ú¸ÕÅX°Ê¡]Test-Driven¡^ªº´N§ó¥[µ}¦³¤F¡C

µL½×¦p¦ó¡A´ú¸Õ¬O¥²­nªº¡AµM¦Ó­n§ïÅܶ}µo¤H­û¨ººØªñ¥G»P¥Í­Ñ¨Óªº¤£¨}´ú¸Õ²ßºD¡A«h¬O»Ý­n±Ð¨|ªº¡CJUnit ¤£¶È¬O­Ó´ú¸Õ¤u¨ã¡AÁÙ¬O­Ó±Ð¨|¤u¨ã¡A±z­n¾Ç²ßªº¬O­I«áªº³æ¤¸´ú¸Õ»P´ú¸ÕÅX°Ê·§©À¡A¦Ó¤£¶È¶È¬O¦p¦ó¨Ï¥Î JUnit ¤¤ªº¤u¨ãÃþ§O¡C

¬°¤F¹ªÀy¤H­Ì¶i¦æ´ú¸Õ¡A´X¥G©Ò¦³ªº´ú¸Õ¤u¨ã¨ä©x¤èºô¯¸³£¦³Â×´Iªº¤å¥ó¸ê·½¡A±z¥i¥Hµ½¥Î³o¨Ç¸ê·½¡A³oÃ䪺¤å¥ó¬O§Ú¹ï´ú¸Õ¬ÛÃöijÃDªº¤@¨Ç²³æ¾ã²z¡A¥Øªº¬O¬°¤@¨Ç·QÁA¸Ñ¦p¦ó¶i¦æ´ú¸Õªº·s¤â¤Þ­Ó¶}ÀY¡C

¨}¸¯®æ ¨}¸¯®æ 2005/02/20
¦p¦ó¦Û°Ê´ú¸Õ¨Ï¥ÎªÌ¤¶­±¡H

[¤º®eºK­n]

XP³o®M¤èªk¶}©l´¶¹M¨ü¨ì³nÅé¬Éªº­«µø¤§«á¡A³\¦h³nÅé¶}µoªÌ¬°¤F¹ê²{¦Û°Ê¤Æ´ú¸Õªº¥Ø¼Ð¡A¶}µo¤F³\¦h¤u¨ã¡CJavaªºProgrammer«Ø¥ß¤F¤@­Ó¥s§@JUnitÃþ§O¡A­YÄ~©Ó¦¹Ãþ§O¨Ó¹ê§@´ú¸Õµ{¦¡¡A´N¥i¥H¥Î´ú¸Õ³nÅé¨Ó§å¦¸°õ¦æ©Ò¦³ªºJUnit¡C³oºØ¤èªk¥D­n¬O¥Î¨Ó´ú¸Õ³nÅ骺Logic¡A¦ý¹ï©óGUIªº´ú¸Õ­n¦p¦ó¶i¦æ©O¡HTest-Driven Development In .Net¡A³o½g¤å³¹¦³´£¨ì¥²¶·¬°¨C­ÓGUIªºView Class¹ê§@¦s¨ú¸ê®Æ¥ÎªºInterface¡A²Ó¸`½Ð°Ñ¦Ò¸Ó½g¤å³¹¡C³oºØ°µªk¹ï©ó¾Ö¦³³\¦hµøµ¡¤¶­±ªº³nÅé¨Ó»¡¡A­n¼¶¼gªº´ú¦¡µ{¦¡·Q¥²´N«ÜÁcº¾¡C

¥ú®å

2004/08/20
¥þ¸ê®ÆÅX°Ê¦Û°Ê´ú¸Õ
Totally Data-Driven Automated Testing

[¤º®eºK­n]

¬°¤°»ò­n¦Û°Ê¤Æ´ú¸Õ¡B¿ý»s/¼½©ñ¦³¤°»ò°ÝÃD¡B¦³­þ¨Ç¬O¦³®Ä¯qªº¦Û°Ê¤Æ´ú¸Õ¤èªk¡H¥»¤åªº¥Øªº¬O¸õ²æ¾Ç³N²z½×¡A³z¹L§@ªÌ¥»¨­ªº¸gÅç¡A¥H§óª½Ä±¡B©¾¹êªººA«×¨Ó°Q½×¦Û°Ê¤Æ´ú¸ÕªºÄ³ÃD¡AÅýŪªÌ¯à°÷²M·¡ªºÁA¸Ñ¡A­n¦¨¥\¹ê¬I²Å¦X¦¨¥»®Ä¯qªº¦Û°Ê¤Æ´ú¸Õ¡A¨ì©³»Ý­n­þ¨Ç±ø¥óªº°t¦X¡C

Keith Zambelich
Sr. Software Quality Assurance Analyst, Automated Testing Evangelist
oldsidney 2004/08/07
¦Û°Ê¤Æ´ú¸Õ¤£¬O»È½è¤l¼u ( Silver Buller )¡H
Automated Testing¡GA Silver Bullet?

[¤º®eºK­n]

¦Û°Ê¤Æ´ú¸Õ - ©ÎªÌ»¡¬O¹ê¬I¦Û°Ê¤Æ´ú¸Õªºµ¦²¤»P¤u¨ã - ¥u¬O´ú¸Õ¤H­û¤u¨ã½c ( toolbox ) ¤¤ªº¤@§â¤j·}ÀY¡A¦b³o¸Ì§Ú¯S§O±j½Õ¦Û°Ê¤Æ´ú¸Õ¥u¬O¤u¨ã½c¤¤ªº¤u¨ã¡A¦ÓÁ×§K´£¤Î¥Î¦Û°Ê¤Æ´ú¸Õ¨Ó¨ú¥N¤H¤u´ú¸Õ¡A¦]¬°¤H¤u´ú¸Õ¬OµLªk¨ú¥Nªº¡C·íµM²@µLºÃ°Ýªº¦Û°Ê¤Æ´ú¸Õ¬O«Ü¦³«Â¤Oªº¤u¨ã¡A¥u­n±z¹B¥Î±o·í¡A¤u¨ã¤]·|¬°±z±a¨Ó·¥¤jªº¦n³B¡AÃöÁä¦b©ó¦ó®É ( when ) ¥H¤Î¦p¦ó ( how ) ¨Ï¥Î¥¦¡C

Dawn Haynes oldsidney 2004/04/25
¦b.NETÀô¹Ò¤¤¨Ï¥ÎTest-Driven Development(´ú¸ÕÅX°Ê¶}µo¤èªk)
Test-Driven Development In .NET

[¤º®eºK­n]

¤j³¡¤ÀªºUnit Tests³£¬O¼g¦b¥D­nªºµ{¦¡½X¤w¸g³]­p¦n¡B¼g¦n¤§«á¡C¤j³¡¤Àªºµ{¦¡¶}µo¤H­û³£¦³¬Û¦Pªºªº¸gÅç¡A¦b¥D­nµ{¦¡½X¼g¦n¤§«á¦A¨Ó¥[¤JUnit Test¬O¤@¶µ§xÃøªº¤u§@¡A¦Ó¥B¦b®É¶¡ªºÀ£¤O¤§¤UUnit Test³q±`¬O²Ä¤@­Ó³Q¸õ¹Lªº¨BÆJ¡C

³o½g¤å³¹­n¤¶²ÐªºTest-driven development (TDD¡A´ú¸ÕÅX°Ê¶}µo¤èªk)¡A¨ä¥D­n¥Øªº´N¬O¸Õ¹Ï­n¸Ñ¨M³o¤@­Ó°ÝÃD¡A¨Ã¥BÅýµ{¦¡¶}µo¤H­û¥i¥H¦]¦¹¼g¥X§ó°ª«~½èªº¡A§¹¾ã´ú¸Õ¹Lªºµ{¦¡½X¡C¨ä¤èªk´N¬O§â¾ã­Óµ{§Ç¤ÏÂà¹L¨Ó¡A¦b¼g¥D­nµ{¦¡½X¤§«e´N­n§âUnit Tests¼g¦n¡CTDD¬O©Ò¿×ªºExtreme Programming(XP¡A²×·¥µ{¦¡¼g§@)¸Ì­±©Ò´£¨ì¥D­nPractices(¹ê°È¡B¹ê§@)¤§¤@¡A¦bJava°}À礤±Ä¥ÎTDDªºµ{¦¡¶}µo¤H­û¬°¼Æ¤£¤Ö¡A¦b.NETªº°}À礤«hÁÙ¥u°±¯d¦b«Ü¤Ö¼Æªº¤å³¹½Í¨ì¦p¦ó¨Ï¥ÎTDD¡C

Peter Provost

©P¨|¦ë½Ķ

Areca Chen®Õ½Z

2003/10/04
§¹¾ã¥Í©R¶g´Á«¬ª«¥ó¾É¦V´ú¸Õ¤èªk
The Full Life Cycle Object-Oriented Testing (FLOOT) Method

[¤º®eºK­n]

§¹¾ã¥Í©R¶g´Á«¬ª«¥ó¾É¦V´ú¸Õ (Full-Lifecycle Object-Oriented Testing¡A¥H¤U²ºÙ FLOOT) ¤èªk½×¬O¤@­ÓÅçÃÒ (verify) ¤Î½T»{ (validate) ª«¥ó¾É¦V³nÅ骺´ú¸Õ§Þ³N¶°¦X¡C¥»¤å¦C¥X³o­Ó´ú¸Õ§Þ³N²M³æªº¥Øªº¨Ã¤£¬O­n§A¥þ³¡°µ¨ì¡A¥u¬O·QÅý¥¦²M·¡¤@ÂI¡AÅý§A¯à¿ï¾Ü§ó¦h¹ï§A¦³À°§Uªº§Þ³N¡C

Scott W. Ambler ¤ýµÏ¥Á½Ķ

Areca Chen®Õ½Z

2003/7/29
³æ¤¸´ú¸Õ¹ê¨Ò

[¤º®eºK­n]

¦b¥Ø«eªº³nÅé¶}µoµ{§Ç¤¤³æ¤¸´ú¸Õ(unit test)ªº¨¤¦â·U¨Ó·U­«­n¡A¤×¨ä¬OXP¨S¦³³æ¤¸´ú¸Õ¨ä±M®×´X¥G¥i¥H»¡¨S¦³¦¨¥\ªº¾÷·|¡C¬J¨Ï§A¤£¬O¨Ï¥ÎXP¶}µo±M®×¡A³æ¤¸´ú¸Õ¤]¥i¥H´£¨Ñ±M®×ªº¥i«H«×¤Î©µ®i©Ê¡C¦Ó¥B³æ¤¸´ú¸Õ¬O¥Ñµ{¦¡³]­p®v­t³d¼¶¼g¡A¦b¥¼¨Óµ{¦¡³]­p®v¤£¤î­n¼¶¼gµ{¦¡½X¡A¦P®É¤]­n¦³¯à¤O¼¶¼g³æ¤¸´ú¸Õ¡C

Areca Chen Areca Chen 2002/09/25
³æ¤¸´ú¸Õ·§½×

[¤º®eºK­n]

¦bµ{¦¡³]­pªº»â°ì¤¤¦³³\¦hºØ´ú¸Õ¡A³æ¤¸´ú¸Õ¥u¬O´ú¸Õ¤¤ªº¤@ºØ¡C©Ò¥H³æ¤¸´ú¸Õ¨Ã¤£«OÃÒµ{¦¡¬O§¹¬üªº¡C¦ý³æ¤¸´ú¸Õ¦b©Ò¦³´ú¸Õ·í¤¤¬O«D±`­«­nªº¤@ºØ¡C³æ¤¸´ú¸Õ¬O¤@ºØ¥Ñµ{¦¡³]­p®v¦Û¦æ´ú¸Õªº¤u§@¡C³æ¤¸´ú¸Õ©Ò´ú¸Õªº¬O¨ä©Ò¼¶¼gªºµ{¦¡½X³æ¤¸¬O¨Ì¾Ú¨ä©Ò³]·Qªº¤è¦¡°õ¦æ¦Ó²£¥X¦X©ó¹w´Áªºµ²ªG¡C³o´N¬Oµ{¦¡½Xªº¥¿½T©Ê¡C

Areca Chen Areca Chen 2002/09/06
´ú¸Õªº·§©À

[¤º®eºK­n]

ªø´Á¥H¨Ó¡A§Ú©Ò±µÄ²ªº³n¥ó¶}µo¤H­û«Ü¤Ö¦³¤H¯à¦b¶}µoªº¹Lµ{¤¤¶i¦æ´ú¸Õ¤u§@¡C¤j³¡¤Àªº±M®×³£¬O¦b³Ì²×Å禬ªº®É­Ô½s¼g´ú¸Õ¤å¥ó¡C¦³¨Ç±M®×¬Æ¦Ü¨S¦³´ú¸Õ¤å¥ó¡C²{¦b±¡ªp¦³¤F§ïÅÜ¡C§Ú­Ì¤@ª½´£­ÒUML¡BRUP¡B³n¥ó¤uµ{¡BCMM¡A¥Øªº¥u¦³¤@­Ó¡A´£°ª³n¥ó½s¼gªº½è¶q¡C

Eric Wang Areca Chen 2002/05/01
¦³Ãö´ú¸Õ¤å³¹ªº¦¬¶°

[¤º®eºK­n]

§A¼gµ{¦¡¦³°µ´ú¸Õ¶Ü¡H¦pªG§A¼gµ{¦¡¦Ó¨S¦³´ú¸Õ¡A§A¦p¦óª¾¹D§Aªºµ{¦¡½Xªºµ²ªG¬O¥¿½Tªº¦Ó¥B²Å¦X«È¤áªº»Ý¨D¡C¥ç©Î¬O§A¦Û»{¬O¤ÑÁa­^¦W§A¼gªºµ{¦¡µ´¹ï¨S¦³°ÝÃD¡A¥ç©Î¬O§Aªºµ{¦¡½X¬OÅý«È¤á¨Ó°£ÂΪº¡C

¦pªG§A¼gªºµ{¦¡¦³´ú¸Õ¡A¨º§A¬O¦p¦ó´ú¸Õªº¡C§Aªº´ú¸Õ©P©µ¶Ü¡H¬°¤F©P©µªºµ{¦¡´ú¸Õ§A­n¯Ó¶O¦h¤Ö¦¨¥»¡H«ç¼Ëªº´ú¸Õ¤~¬O¾A·íªº©O¡H¸g¹L­þ¨Ç´ú¸Õ§A»{¬°§Aªºµ{¦¡½X¤~¯àµo¦æ©O¡H

´ú¸ÕijÃD±q¶}©l¦³µ{¦¡³]­p¬J¤w¦s¦b¡A´ú¸Õ¤]µo®i¦¨¤@¯S©wijÃD¤Î§Þ³N¡C¦ý¦b¸ê·½¦³­­ªº­­¨î¤U¤£¬O§â¾ã­Ó´ú¸Õ²z½×¬Ò·h¨ì§A¤u§@«Ç´N¥i¥H½T«O§Aªºµ{¦¡½X¥i¥Hµo¦æ¡A¨ä¤¤²o¯A¨ì´ú¸Õ§Þ³Nªº¹B¥Î»P¾ã¦X¡A¥H¤Î¦b¦X²zªº¦¨¥»¤UÀ³¦³­þ¨Ç´ú¸Õ¦æ¬°¡C

¦P®É¦bXP(eXtreme Programming)ªº²z½×¤¤´ú¸Õ´N¦û¦³­«­nªº¦a¦ì¡A¦bXP¤¤ªº´ú¸Õ¤£¥u¬O§Ú­Ì­ì¨Ó©Òª¾ªº´ú¸Õ¡A¦P®É¤]¥]§t¤F¨ä¥Lªº·N¸q¡C

1.JUnit¬ÛÃö¤å³¹

  • JUnit²¤¶
  • JUnit¤Jªù
  • Javaµ{¦¡ªº³æ¤¸´ú¸Õ
  • ¸ê®Æ®wµ{¦¡½Xªº³æ¤¸´ú¸Õ
  • ´ú¸Õªº·P¬V¡Gµ{¦¡³]­p®v³ßÅw¼g´ú¸Õ

  • «ùÄò©Ê¾ã¦X¡]²Åé¥Ñ³z©ú½Ķ¡^

2.´ú¸Õ¼Ë¦¡¡]Test Patterns¡^

3.¥ý¼g´ú¸Õ¡]Test First¡^

  • ºË·Ç¡B®gÀ»

4.J2EE

5.¶EÂ_Javaµ{¦¡½X¡]Diagnosing Java Code¡^

Areca Chen 2002/02/08

2008¦~08¤ë23¤é ¬P´Á¤»