Ãö©ó XP(eXtreme programming)
XP¡]eXtreme Programming¡^¤¤¤åͬ°¡y²×·¥¡z¡B¡y·¥ºÝ¡z¡B¡y·¥¡zªºµ{¦¡³]p¡]©Î½sµ{¡^¡C¤£ºÞ¬Oþ¤@ÓͦW³£¤£«n¡A¥un¤£§â¥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±qpµ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Äæ¥Dn¬O¦¬¶°¤Î½Ķ¤¤¥~µÛ¦W¾ÇªÌ±M®a¡A°w¹ï XP ©Òµoªíªº¦UÃþºëªö¤å³¹ ¡A¥H¨Ñ¦U¬É¦P¦n°Ñ¦Ò ¡C·íµM¡AY¨ä¤¤¦³©Ò¿òº|©Î¤£¥¿½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
¼ÐÃD&¤º®eºKn | ¸ê®Æ¨Ó·½&§@ªÌ | ÂàͮսZ | µoªí¤é´Á | ||
Agile³nÅé¶}µo¡G¬°¦ó³o»ò¼öªù¡I Agile Software Development: Why It's Hot! [¤º®eºKn] 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 | ||
![]() [¤º®eºKn] ´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¥»®Ñ¤¤¸ÔºÉªº´yz¥L¹ï XP ªºµo®iºc·Q¡B»ùÈÆ[¡B°ò¥»ì«h¥H¤ÎºØºØµ¦²¤¡A¦p¥L§Ç¤å¨¥¤Î³o¥»®Ñ¡uI«áªº¤@¨Ç·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·Qn¤F¸Ñ XP¡A´N¤£¯à¿ù¹L¥»®Ñ¡Aťť¥»´Lªº²{¨»¡ªk¡C |
![]() First Class ³nÅ餽¥q¾Ö¦³ªÌ¤Î¸gÀçªÌ |
§õ¼ç·ç ¥»®ÑĶªÌ(¥Ø«e³o¥»®Ñ¥Ñ¥xÆW°ö¥Í¥Xª©ªÀµo¦æ) |
2002/10/31 | ||
![]() [¤º®eºKn] ³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ĶªÌ(§õ¼ç·ç)Á|
|
William C. Wake Agile Software Coach |
§õ¼ç·ç | 2002/10/9 | ||
Ãk©¥©M·¥½sµ{¡]XP¡^
ì¤å¡GRock Climbing and Extreme Programming( [¤º®eºKn] ³o½g¤å³¹¥HÃk©¥¨Ó´yz 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ºKn]
|
§õ¼ç·ç | §õ¼ç·ç | 2002/5/27 | ||
±qCMMµø¨¤¬Ý²×·¥½sµ{ Extreme Programming from a CMM Perspective [¤º®eºKn] ²×·¥½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´yzªººÞ²z©M°ò¦µ²ºc°ÝÃD¡C |
³nÅé¤uµ{¬ã¨s©Ò ¥d¤º°ò` ±ö¶©¤j¾Ç ¡@ |
![]() ¨HĬ«n ¦¶¤l ¡@ |
2002/4/15 | ||
ºË·Ç¡B®gÀ»(Aim,
Fire)
[¤º®eºKn] «Ü¦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«áºË·Ç¥Dnªº«Â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ºKn] ¥Ñ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ªº½èºÃ ì¤å [¤º®eºKn] 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 |
![]() 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 [¤º®eºKn] 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 |
![]() (¥»¤å¤wÀòMark Collins-Copeªº±ÂÅv½Ķ¨Ã¤½¥¬©óºô¶¡C) ¥»Ä¶¤å¥çìRATIO¤½¥¬©ó¨ä§Þ³N¹Ï®ÑÀ]ªººô¶¤W ¡@ |
Areca Chen | 2001/10/31 | ||
![]() Planning Extreme Programming: The XP Series [¤º®eºKn] ³o¥»®Ñ¬OThe XP Series¨ä¤¤¤§¤@¡C³o¬O¤@¥»¦³Ãö³W¹º³nÅé±M®×ªº®Ñ¡C¥Dn¬O¬°±M®×ºÞ²zªÌ©Ò¼g¡F¥LÌ¥²¶·³W¹º¤ÎºÊ·þ¹ê»Úªº¬ÛÃö³W¹º¤u§@¡C·íµM³o¥»®Ñ¤]´£¨Ñµ{¦¡³]p®v¤Î«È¤á¡F¥L̬O§êºt³W¹º¤Î¶}µo³nÅ骺¹êÅ骺¨¤¦â¡C
|
Kent Beck | Areca Chen | 2001/10/10 ¡@ |
||
¸ÑªRXP(XP Distilled) [¤º®eºKn] ¥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®É¶¡®ø¤Æ |
Chris Collins(Senior Software
Developer, RoleModel Software, Inc.) Roy Miller(Software Developer, RoleModel Software, Inc.) |
Daimler Huang | ªì½Z2001/09/26 | ||
±ÀÂ˳sµ² §õ¼ç·çªºXPºô¯¸ | §õ¼ç·ç | §õ¼ç·ç | 2001/09/26 | ||
²×·¥»sµ{eXtreme
Programming(XP) [¤º®eºKn]
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¥|Ó¥Dnºë¯«©Ò¦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. Donovan Wells (¥»¤å¤wÀòì§@ªÌDon Wellsªº±ÂÅv½Ķ¨Ã¤½¥¬©óºô¶¡C) |
Areca Chen ·PÁ»¯¥ú¥¿®Õ½Z |
ªì½Z2001/08/17 ²Ä¤@¦¸®Õ½Z2001/08/22 ²Ä¤G¦¸®Õ½Z2001/09/25 |
¼ÐÃD&¤º®eºKn | ¸ê®Æ¨Ó·½&§@ªÌ | ÂàͮսZ | µoªí¤é´Á |
«¾ã¡G§ïµ½²{¦³µ{¦¡½Xªº³]p Refactoring - Improving the Design of Existing Code [¤º®eºKn]
§ÚÌ¥Hµ§°OºKn¤Î°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ºKn] ³o½g¤å³¹¹ï«¾ã(Refactoring)°µ¤F²µuªº¤¶²Ð¡A¥Dn½Í¨ì¬°¤°»ò»Ýn«¾ã¡A¥H¤Î¦p¦ó¨Ï¥Î¤â¤u¤è¦¡©Î¹B¥Î¤u¨ã¨Ó¶i¦æ«¾ã¡C¥t¥~§@ªÌ¤]»¡©ú«¾ãªº»ùÈ¡A¦P®Éªí©ú¹ï«¾ã§Þ³Nªº´Á±æ¡A¥H¤Î§iª¾§Ú̦p¦óÀò±o³o¤è±§Þ³Nªº¬ÛÃö¸ê®Æ¡C |
Martin Fowler ¡@ |
¦¶¤l | 2002/04/15 |
![]()
Refactoring
-
Improving the design of existing code (Chapter
1: Refactoring, a First Example) ©Ò¿×ªº«º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 |
ìµÛ¡G Martin Fowler
¤¤¤åĶ¥»¡G ͤå¨ú¦Û«J±¶ºô¯¸¤§¥ý¸@¬°§Ö |
«J±¶ | 2002/04/17 |
Joshua Bloch¡G³X½ÍÃö©ó³]p Joshua Bloch: A conversation about design [¤º®eºKn] 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ºKn]
Ãö©óµ{¦¡½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
|
¥Û¤@·
ºô¯¸¡G ¡@ |
¦¶¤l | 2001/11/14 |
«¾ã:¤@Ó¥O¤HÅå©_ªº§Þ³N¤§Àu¯ÊÂI (Refactoring Benefits and Disadvantages of an Amazing Technique)
[¤º®eºKn]
|
Areca Chen | 2001/11/30 |
¼ÐÃD&¤º®eºKn | ¸ê®Æ¨Ó·½&§@ªÌ | ÂàͮսZ | µoªí¤é´Á |
´ú¸Õ¤Jªù [¤º®eºKn] ¦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 |
¨}¸¯®æ | ¨}¸¯®æ | 2005/02/20 |
¦p¦ó¦Û°Ê´ú¸Õ¨Ï¥ÎªÌ¤¶±¡H [¤º®eºKn] XP³o®M¤èªk¶}©l´¶¹M¨ü¨ì³nÅé¬Éªº«µø¤§«á¡A³\¦h³nÅé¶}µoªÌ¬°¤F¹ê²{¦Û°Ê¤Æ´ú¸Õªº¥Ø¼Ð¡A¶}µo¤F³\¦h¤u¨ã¡CJavaªºProgrammer«Ø¥ß¤F¤@Ó¥s§@JUnitÃþ§O¡AYÄ~©Ó¦¹Ãþ§O¨Ó¹ê§@´ú¸Õµ{¦¡¡A´N¥i¥H¥Î´ú¸Õ³nÅé¨Ó§å¦¸°õ¦æ©Ò¦³ªºJUnit¡C³oºØ¤èªk¥Dn¬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Åé¨Ó»¡¡An¼¶¼gªº´ú¦¡µ{¦¡·Q¥²´N«ÜÁcº¾¡C |
¥ú®å |
2004/08/20 | |
¥þ¸ê®ÆÅX°Ê¦Û°Ê´ú¸Õ Totally Data-Driven Automated Testing [¤º®eºKn] |
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ºKn] |
Dawn Haynes | oldsidney | 2004/04/25 |
¦b.NETÀô¹Ò¤¤¨Ï¥ÎTest-Driven Development(´ú¸ÕÅX°Ê¶}µo¤èªk) Test-Driven Development In .NET [¤º®eºKn] ¤j³¡¤ÀªºUnit Tests³£¬O¼g¦b¥Dnªºµ{¦¡½X¤w¸g³]p¦n¡B¼g¦n¤§«á¡C¤j³¡¤Àªºµ{¦¡¶}µo¤Hû³£¦³¬Û¦Pªºªº¸gÅç¡A¦b¥Dnµ{¦¡½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¨ä¥Dn¥Øªº´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¥Dnµ{¦¡½X¤§«e´Nn§âUnit Tests¼g¦n¡CTDD¬O©Ò¿×ªºExtreme Programming(XP¡A²×·¥µ{¦¡¼g§@)¸Ì±©Ò´£¨ì¥DnPractices(¹ê°È¡B¹ê§@)¤§¤@¡A¦bJava°}À礤±Ä¥ÎTDDªºµ{¦¡¶}µo¤Hû¬°¼Æ¤£¤Ö¡A¦b.NETªº°}À礤«hÁÙ¥u°±¯d¦b«Ü¤Ö¼Æªº¤å³¹½Í¨ì¦p¦ó¨Ï¥ÎTDD¡C |
©P¨|¦ë½Ķ Areca Chen®Õ½Z |
2003/10/04 | |
§¹¾ã¥Í©R¶g´Á«¬ª«¥ó¾É¦V´ú¸Õ¤èªk The Full Life Cycle Object-Oriented Testing (FLOOT) Method [¤º®eºKn] §¹¾ã¥Í©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³æªº¥Øªº¨Ã¤£¬On§A¥þ³¡°µ¨ì¡A¥u¬O·QÅý¥¦²M·¡¤@ÂI¡AÅý§A¯à¿ï¾Ü§ó¦h¹ï§A¦³À°§Uªº§Þ³N¡C |
Scott W. Ambler |
¤ýµÏ¥Á½Ķ Areca Chen®Õ½Z |
2003/7/29 |
³æ¤¸´ú¸Õ¹ê¨Ò [¤º®eºKn] ¦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®vt³d¼¶¼g¡A¦b¥¼¨Óµ{¦¡³]p®v¤£¤în¼¶¼gµ{¦¡½X¡A¦P®É¤]n¦³¯à¤O¼¶¼g³æ¤¸´ú¸Õ¡C |
Areca Chen | Areca Chen | 2002/09/25 |
³æ¤¸´ú¸Õ·§½× [¤º®eºKn] ¦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ºKn] ªø´Á¥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ºKn] §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©µªºµ{¦¡´ú¸Õ§An¯Ó¶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¬ÛÃö¤å³¹
2.´ú¸Õ¼Ë¦¡¡]Test Patterns¡^ 3.¥ý¼g´ú¸Õ¡]Test First¡^ 4.J2EE 5.¶EÂ_Javaµ{¦¡½X¡]Diagnosing Java Code¡^ |
![]() |
Areca Chen | 2002/02/08 |
2008¦~08¤ë23¤é ¬P´Á¤»