Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ãô½Ý¿ª·¢ÖиßÖÊÁ¿ Java ´úÂ뿪·¢Êµ¼ù
 
×÷ÕߣºÍõÓÀ¿ý£¬ÍõÕ×Àö£¬ÁõÓ± À´Ô´£ºIBM ·¢²¼ÓÚ 2015-04-21
  3315  次浏览      27
 

±¾ÎĽ«½éÉÜÔÚÃô½Ý¿ª·¢¹ý³ÌÖÐÈçºÎͨ¹ý²ÉȡһϵÁеIJ½ÖèÀ´±£Ö¤ºÍÌá¸ßÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿£¬²ûÊöÁËÿһ²½¿ÉÒÔÀûÓõŤ¾ßºÍ×î¼Ñʵ¼ù£¬´Ó¶øÊ¹¿ª·¢¹ý³Ì¸ü¼Ó¹æ·¶»¯£¬³É¾Í¸ßÖÊÁ¿µÄ´úÂë¡£

¸ÅÊö

Java ÏîÄ¿¿ª·¢¹ý³ÌÖУ¬ÓÉÓÚ¿ª·¢ÈËÔ±µÄ¾­Ñé¡¢´úÂë·ç¸ñ¸÷²»Ïàͬ£¬ÒÔ¼°È±·¦Í³Ò»µÄ±ê×¼ºÍ¹ÜÀíÁ÷³Ì£¬ÍùÍùµ¼ÖÂÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿½Ï²î£¬ÄÑÓÚά»¤£¬ÐèÒª½Ï´óµÄ²âÊÔͶÈëºÍÖÜÆÚµÈÎÊÌâ¡£ÕâЩÎÊÌâÔÚÒ»¸öÏîÄ¿×é³õ½¨¡¢ÐèÇóºÍÉè¼Æ¾ù¾ßÓв»ÍêÈ«¿ÉÔ¤ÆÚÐÔºÍÍ걸ÐÔµÄÈ«ÐÂÏîÄ¿Öн«ÓÈΪͻ³ö¡£±¾ÎĽ«½áºÏÃô½Ý¿ª·¢ÖÜÆÚ¶Ì£¬±ä»¯¿ìµÈÌØµã£¬½éÉÜÈçºÎͨ¹ýÔÚ¿ª·¢¹ý³ÌÖвÉȡһϵÁв½ÖèÀ´±£Ö¤ºÍÌá¸ßÕû¸ö¿ª·¢ÍŶӵĴúÂëÖÊÁ¿£¬²¢²ûÊöÁËÿһ²½¿ÉÒÔÀûÓõŤ¾ßºÍ×î¼Ñʵ¼ù£¬´Ó¶øÊ¹¿ª·¢¹ý³Ì¸ü¼Ó¹æ·¶»¯£¬³É¾Í¸ßÖÊÁ¿µÄ´úÂ룬¼õÉÙ²âÊÔµÄͶÈ룬²¢´Ù½øÕû¸öÍŶӵļ¼ÄÜÌá¸ß£¬×îÖÕÌá¸ß¿ª·¢Ð§ÂʺÍÖÊÁ¿¡£

Èçͼ 1 Ëùʾ£¬Ãô½Ý¿ª·¢¹ý³Ì¾­ÀúÐèÇóµ÷ÑУ¬ÓÃÀý·ÖÎöºÍÓÃÀý·Ö½â£¬½øÈ뿪·¢µü´ú½×¶Î¡£ÔÚÿ¸öµü´ú¹ý³ÌÖУ¬¿ÉÒÔ²ÉÓÃÒÔÏÂÎå¸ö²½ÖèÀ´±£Ö¤ºÍÌá¸ßÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿£ºÍ³Ò»±àÂë¹æ·¶¡¢´úÂëÑùʽ£»¾²Ì¬´úÂë·ÖÎö£¨static code review£©£»µ¥Ôª²âÊÔ£»³ÖÐø¼¯³É£»´úÂëÆÀÉóºÍÖØ¹¹£¨Review & Refactor£©¡£ÏÂÎĽ«Õë¶Ôÿ¸ö²½ÖèºÍÆäËùʹÓõŤ¾ß¡¢·½·¨½øÐÐÏêϸÃèÊö¡£

ͼ 1. Ãô½Ý¿ª·¢ÖÐµÄ Java ´úÂëÖÊÁ¿±£Ö¤²½Öè

²½ÖèÒ»£ºÍ³Ò»±àÂë¹æ·¶¡¢´úÂëÑùʽ

¹æ·¶Í³Ò»µÄ±àÂë»áÔö¼ÓÏîÄ¿´úÂëµÄ¿É¶ÁÐԺͿÉά»¤ÐÔ£¬µ«Êµ¼ÊÇé¿öÍùÍùÊÇÏîÄ¿×éÄÚµÄ Java ´úÂ뿪·¢ÈËÔ±µÄ±àÂë·ç¸ñ³£³£¸÷²»Ïàͬ£¬Õâ¿ÉÄÜÊÇÓÉÓÚ²»Í¬µÄ¾­Ñéϰ¹ß»òÕßȱ·¦±àÂë¹æ·¶·½ÃæµÄѧϰÔì³ÉµÄ¡£ÕâÑùÒ»À´£¬ÆäËûÏîÄ¿³ÉÔ±»òÕßά»¤ÈËÔ±ÔÚÔĶÁÏîÄ¿´úÂëʱ¾ÍÐèÒª»¨·Ñ¸ü¶àµÄʱ¼äÀ´Àí½â´úÂë×÷ÕßµÄÒâͼ£¬ËùÒÔÖÆ¶¨²¢²ÉȡͳһµÄ±àÂë¹æ·¶¾ÍÏԵúÜÖØÒª¡£±àÂë¹æ·¶Ö÷ÒªÓ¦°üº¬ÒÔϼ¸¸ö·½Ã棺

1.Ò»°ã¹æÔòºÍ¸ñʽ¹æ·¶¡£ÀýÈç´úÂëËõ½ø¡¢³ÌÐò¿é¹æ·¶¡¢Ã¿ÐÐ×î´ó´úÂ볤¶ÈµÈ¡£

2.ÃüÃû¹æÔò¡£ÀýÈç°üÃû¡¢ÀàÃû¡¢±äÁ¿¡¢·½·¨¡¢½Ó¿Ú¡¢²ÎÊýµÈÃüÃû¹æ·¶

3.Îĵµ¹æ·¶¡£ÀýÈçÀàÎļþÍ·ÉùÃ÷¡¢Àà×¢ÊÍ¡¢³ÉÔ±±äÁ¿ºÍ·½·¨×¢Ê͵ȹ淶¡£

4.±à³Ì¹æ·¶¡£ÀýÈçÒì³£¡¢²¢·¢¡¢¶àÏ̵߳ȷ½ÃæµÄ´¦Àí·½Ê½¡£

5.ÆäËû¹æ·¶¡£ÀýÈçÈÕÖ¾¸ñʽ¡¢ÊôÐÔÎļþ¸ñʽ£¬·µ»ØÖµºÍÏûÏ¢¸ñʽ¡£

ÏîÄ¿µÄ±àÂë¹æ·¶¿ÉÒԲο¼ÒÑÓеÄһЩ Java ±à³Ì¹æ·¶Êé¼®ºÍÆäËûÏà¹Ø×ÊÁϲ¢½áºÏÏîÄ¿µÄ±¾ÉíÀ´Öƶ¨£¬¿É¹©²Î¿¼µÄÊé¼®ÓС¶ Java ±à³Ì·ç¸ñ¡·£¨Ó¢ÎÄÊéÃûΪ£ºThe Elements of Java Style£©¡£±àÂë¹æ·¶ÒªÐγÉÎĵµ£¬¶øÇÒÒª¼ò½àÃ÷ÁË£¬²¢×éÖ¯ÏîÄ¿³ÉÔ±Ò»Æðѧϰ£¬È·±£ËùÓгÉÔ±ÕýÈ·Àí½âËùÓÐÌõÄ¿¡£

Ò»µ©±àÂë¹æ·¶È·¶¨£¬¾Í¿ÉÒÔÀûÓà Eclipse ×ÔÉíÌṩµÄ¹¦ÄÜÀ´¿ØÖÆ´úÂëÑùʽºÍ¸ñʽ¡£¾ßÌå×ö·¨ÊÇ£¬µã»÷ Eclipse µÄ Windows -> Preference ²Ëµ¥ÏÔÚ´ò¿ªµÄ Preferences ¶Ô»°¿òµÄ×ó²àÀ¸ÖÐÕÒµ½ Java ½ÚµãϵÄ×ÓÏî Code Style£¨Èçͼ 2£©£¬¸ÃÏîºÍËüµÄ×ÓÏîÔÊÐíÄú¶Ô Java ´úÂëµÄÑùʽ½øÐпØÖÆ¡£

ͼ 2. Eclipse ´úÂëÑùʽÉèÖô°¿Ú

ÀýÈ磬ΪÁËʹÓÃ×Ô¶¯¸ñʽ»¯¹¤¾ß£¬¿ÉÒÔÔÚ Eclipse ÌṩµÄĬÈÏ´úÂë¸ñʽÅäÖõĻù´¡ÉϽ¨Á¢×Ô¶¨ÒåµÄ¸ñʽ¡£ÔÚ Formatter Ãæ°åÖУ¬µã»÷ New£¬ÊäÈëеÄÃû×Ö²¢Ñ¡ÔñÒ»¸öĬÈϵÄÅäÖÃ×÷Ϊ³õʼ»¯¸ñʽ£¬Èçͼ 3 Ëùʾ¡£

ͼ 3. ´´½¨ÐµĴúÂë¸ñʽÅäÖÃ

µ¥»÷ OK ºó¾Í¿ÉÒÔÔÚдò¿ªµÄ´°¿ÚÖнøÐÐÐ޸͍֯×Ô¼ºÐèÒªµÄ¸ñʽ¡£Èçͼ 4 Ëùʾ¡£

ͼ 4. ´´½¨ÐµĴúÂë¸ñʽÅäÖÃ

ÐÞ¸ÄÍê³Éºóµã»÷ Apply ±£´æËù×÷Ð޸ġ£Í¬Ê±¿ÉÒÔµã»÷ Export ½«µ±Ç°µÄ¸ñʽ¶¨Òåµ¼³ö³ÉÒ»¸ö XML Îļþ£¬ÕâÑùÏîÄ¿×éµÄÆäËû³ÉÔ±¾Í¿ÉÒԺܷ½±ãͨ¹ýµã»÷ͼ 3 ÖÐµÄ Import °´Å¥À´µ¼Èë¸Ã XML ÎļþÀ´Ê¹ÓÃͬһ¸ö´úÂë¸ñʽ¶¨Òå¡£

ÕâÑùÿ´ÎÔÚÌá½»´úÂëµ½°æ±¾¿ØÖÆ·þÎñÆ÷ǰ¾Í¿ÉÒÔͨ¹ý Eclipse ½çÃæÀïµÄ Source->Format ²Ëµ¥À´¶Ô´úÂë½øÐиñʽ»¯£¬´Ó¶øÊ¹Õû¸öÏîÄ¿µÄ´úÂë¾ßÓÐÏàͬµÄ¸ñʽ¡£Í¬Ñù¿ÉÒÔͨ¹ý¶Ô Code Style ÏÂµÄÆäËûÏîÄ¿½øÐÐÉèÖÃÀ´°ïÖú¶Ô Java ´úÂëµÄÑùʽ½øÐпØÖÆ¡£½«ËùÓÐÕâЩÑùʽÎļþµ¼³ö³É XML Îļþºó£¬Í¬±àÂë¹æ·¶Ò»Æð¹éµµ£¬¹©ËùÓÐÏîÄ¿³ÉԱʹÓá£

²½Öè¶þ£º¾²Ì¬´úÂë·ÖÎö

ÔÚÍê³ÉÔ´´úÂëµÄ¿ª·¢ÒÔºó£¬ÏÂÃæÒª½øÐеŤ×÷¾ÍÊÇÉóÊӺͲâÊÔ´úÂë¡£³ýÁËͨ¹ýÔËÐвâÊÔ´úÂëÀ´¼ì²é¹¦ÄÜÖ®Í⣬»¹ÄÜÀûÓÃһЩ¾²Ì¬·ÖÎö¹¤¾ßÀ´¿ìËÙ¡¢Ö±½ÓµØÌá¸ß´úÂëÖÊÁ¿¡£¾²Ì¬´úÂë·ÖÎö¹¤¾ß²¢²»ÐèÒªÔËÐдúÂ룬¿ÉÒÔÖ±½Ó¶Ô Java ÎļþºÍ Class Îļþ½øÐзÖÎö£¬Í¨¹ýһЩ¼ì²éÌõ¼þµÄÉèÖ㬿ìËÙÕÒµ½´úÂëÖеĴíÎóºÍDZÔÚȱÏÝ¡£ÏÖÔڵľ²Ì¬·ÖÎö¹¤¾ßºÜ¶à£¬ÓÐ FindBugs¡¢PMD¡¢IBM Rational Tool£¬µÈµÈ¡£ÔÚÕâÀѡÔñ FindBugs ×÷Ϊ¾²Ì¬´úÂë·ÖÎö¹¤¾ß¡£FindBugs ¿ÉÒÔºÍÈÕ³£¿ª·¢¹¤¾ß Eclipse ½øÐм¯³É£¬ÔÚ¿ª·¢¹ý³ÌÖУ¬¾Í¿ÉÒÔ·½±ãµÄ¿ªÊ¼¾²Ì¬´úÂëµÄ¼ì²é¡£Í¨¹ý¼ì²é Class Îļþ»òÕß JAR Îļþ£¬½«×Ö½ÚÂëºÍÒ»×éȱÏÝģʽ½øÐжԱȣ¬À´·¢ÏÖ¿ÉÄÜ´æÔڵĴúÂëÎÊÌâ¡£ÔÚ Eclipse µÄ¿ª·¢»·¾³ÖУ¬Óòå¼þ°²×°µÄ·½Ê½°²×°ÁË Findbugs ºó£¬ÔÚ Eclipse µÄÅäÖÃÑ¡ÏîÖоͻá¶à³öÀ´ FindBugs µÄÅäÖÃÑ¡Ïî¡£¿ÉÒÔ¶Ô×Ô¼ºµÄÏîÄ¿½øÐÐÅäÖã¬Ñ¡ÔñÐèÒªµÄ Detector ¼ì²é´úÂë¡£

ͼ 5. FindBugs µÄÅäÖÃÑ¡Ïî

ÉèÖúÃ×Ô¼ºµÄ¹æÔòºó£¬ÔÚÐèÒª¼ì²éµÄ´úÂëÎļþ¼ÐÉϵã»÷ÓÒ¼ü£¬¾Í¿ÉÒÔÆô¶¯ FindBugs ¼ì²é¡£´úÂë¿ÉÒÔÊÇÒ»¸öÏîÄ¿£¬Ò²¿ÉÒÔÖ»ÊǼ¸¸öÎļþ¡£

ͼ 6. ÔËÐÐ FindBugs

¼ì²éÍê±Ïºó£¬»á³öÏÖ FindBugs ÊÓͼ£¬°ÑËùÓмì²éµÄ½á¹û¸ù¾Ý´íÎó·Ö×éչʾ¡£µã»÷½á¹ûÀïÃæµÄÿһ¸ö´íÎ󣬻á×Ô¶¯´ò¿ª¶ÔÓ¦µÄ´úÂë¡£µ±¸ù¾Ý¹æÔò¸ÄÕýÁËËùÓеĴíÎ󣬻òÕß˵DZÔÚ´íÎó£¬ÕâЩ´úÂëÒ²¾Íͨ¹ýÁ˾²Ì¬´úÂë¼ì²é¡£FindBugs µÄ¼ì²é½á¹û¿ÉÒÔÊÇ XML Îļþ£¬Ò²¿ÉÒÔÊÇÎı¾Îļþ£¬±ãÓÚÏîÄ¿µÄ¼¯³É¹ÜÀíºÍ¼ì²é±£´æ¡£

ͼ 7. FindBugs ¼ì²é½á¹û

²½ÖèÈý£ºµ¥Ôª²âÊÔ

µ¥Ôª²âÊÔÓÃÀýÉè¼ÆºÍÆÀÉó

µ¥Ôª²âÊÔÊÇÈí¼þ¿ª·¢¹ý³ÌÖÐÖØÒªµÄÖÊÁ¿±£Ö¤»·½Ú£¬ÔÚ´Ë»·½ÚÖУ¬Éè¼ÆºÍÆÀÉó¶ÔÓÚ±£Ö¤Õû¸öµ¥Ôª²âÊÔ¹ý³ÌµÄÍêÕûÐÔºÍÓÐЧÐÔÀ´ËµÊ®·ÖÖØÒª¡£Éè¼Æ½×¶ÎÐèÒª¾ßÌ忼ÂÇÒª¶ÔÄÄЩ´úÂëµ¥Ôª½øÐвâÊÔ£¬±»²âµ¥ÔªÖ®¼äµÄ¹ØÏµ£¬²âÊÔ²ßÂÔ£¬ÒÔ¼°µ¥Ôª²âÊÔÓÃÀýÉè¼ÆµÈ£¬²¢×îÖÕÊä³ö¡¶µ¥Ôª²âÊÔÓÃÀýÉè¼Æ¡·Îĵµ£¬ÓÃÀ´Ö¸µ¼¾ßÌåµÄµ¥Ôª²âÊÔÖ´ÐС£ÔÚÓÃÀýÉè¼ÆÖУ¬Í¨¹ý¶Ô´úÂëµ¥ÔªÊäÈëºÍÆÚ´ýÊä³öµÄ¶¨ÒåÀ´±£Ö¤¸Ãµ¥ÔªµÄ¹¦ÄÜÕýÈ·ÐÔ£¬±ß½çÖµµÄ²âÊÔºÍÒì³£²âÊԷdz£ÖØÒª¡£Í¬Ê±Ò²ÅäºÏ²âÊÔÓÃÀýºÍ¹¦ÄÜ¿éµÄÆ¥Åä·½·¨À´ºâÁ¿ÓÃÀýÉè¼ÆµÄÍêÕûÐÔ¡£

ÔÚÓÃÀýÉè¼ÆÍê³ÉÖ®ºó£¬ÏÂÒ»²½µÄ¹¤×÷¾ÍÊǽøÐвâÊÔÓÃÀýµÄÆÀÉ󡣸öÈ˵ÄÀí½âºÍ¾­ÑéʼÖÕÊÇÓÐÏ޵ģ¬ÓÃÀýÆÀÉó¿ÉÒԽ輯ÌåÖ®Á¦£¬¶ÔÓÃÀýÉè¼Æ½øÈë²é©²¹È±£¬½øÒ»²½±£Ö¤²âÊÔÓÃÀýµÄÓÐЧÐÔ¡£ÓÉÓÚµ¥Ôª²âÊÔÊôÓڰ׺вâÊÔ·¶³ë£¬ËüÖ÷Ҫͨ¹ý¶Ô´úÂëµÄÂß¼­½á¹¹½øÐзÖÎöÀ´Éè¼Æ²âÊÔÓÃÀý£¬Òò´Ë£¬ÆÀÉóÔ±µÄÑ¡Ôñ×îºÃÒÔÀí½â´úÂëÂß¼­½á¹¹ÎªÇ°ÌᣬÈç¹ûÆÀÉóÔ±À´×ÔÏà¹ØÄ£¿é£¬»¹Äܹ»ÓÐЧµÄ·¢ÏÖÄ£¿éÏà¹ØÐÔºÍÒÀÀµÐÔËù´øÀ´µÄÎÊÌâ¡£

Ä£Äâ¶ÔÏó¼¼Êõ

ÔÚʵ¼ÊÏîÄ¿ÖУ¬¿ª·¢ÈËÔ±×Ô¼ºµÄ´úÂëÍùÍùÐèÒªºÍÆäËûµÄ´úÂëÄ£¿é»òϵͳ½øÐн»»¥£¬µ«ÔÚ²âÊԵĹý³ÌÖУ¬ÕâЩÐèÒª±»µ÷ÓõÄÕæÊµ¶ÔÏó³£³£ºÜÄѱ»ÊµÀý»¯£¬»òÕßÕâЩ¶ÔÏóÔÚijЩÇé¿öÏÂÎÞ·¨±»ÓÃÀ´²âÊÔ£¬ÀýÈç£¬ÕæÊµ¶ÔÏóµÄÐÐΪÎÞ·¨Ô¤²â£¬ÕæÊµ¶ÔÏóµÄÐÐΪÄÑÒÔ´¥·¢£¬»òÕßÕæÊµ¶ÔÏóµÄÔËÐÐËٶȺÜÂý¡£Õâʱºò£¬¾ÍÐèҪʹÓÃÄ£Äâ¶ÔÏó¼¼Êõ£¨Mock£©£¬ÀûÓÃÒ»¸öÄ£Äâ¶ÔÏóÀ´Ä£ÄâÎÒÃǵĴúÂëËùÒÀÀµµÄÕæÊµ¶ÔÏó£¬À´°ïÖúÍê³É²âÊÔ£¬Ìá¸ß²âÊÔ¸²¸ÇÂÊ£¬´Ó¶øÌá¸ß´úÂëÖÊÁ¿¡£Ä£Äâ¶ÔÏó¼¼ÊõÀûÓÃÁËÔÚÃæÏò½Ó¿ÚµÄ±à³ÌÖУ¬ÓÉÓÚ´úÂëÖ±½Ó¶Ô½Ó¿Ú½øÐе÷Óã¬ËùÒÔ´úÂë²¢²»ÖªµÀÒýÓõÄÊÇÕæÊµ¶ÔÏó»¹ÊÇÄ£Äâ¶ÔÏó£¬ÕâÑù¾Í¿ÉÒÔ˳ÀûµÄÍê³É¶Ô´úÂëµÄ²âÊÔ¡£

Ä£Äâ¼¼ÊõÓкܶàÖÖ£¬Èç jMock£¬EasyMock£¬Mockito£¬PowerMock µÈµÈ¡£ÆäÖÐ Mockito Ïû³ýÁË¶ÔÆÚÍûÐÐΪµÄÐèÇ󣬱ÜÃâÁËÕâЩ´úÂëµÄ´óÁ¿³õʼ»¯¡£

ͼ 8. Mockito ʾÀý

ÔÚÄ£Äâ¶ÔÏó¹ý³ÌÖУ¬ÏÈÄ£ÄâÒ»¸öÐèÒªµ÷ÓÃµÄ List ¶ÔÏó LinkedList£¬ÔÙÉ趨Õâ¸ö¶ÔÏóµÄÐÐΪ£¬µ±µ÷Óà get(0) µÄʱºò£¬·µ»Ø¡±first¡±¡£ÕâÑù£¬²âÊÔ´úÂë¾Í¿ÉÒÔÀûÓÃÕâ¸ö¶ÔÏóÀ´²âÊÔÎÒÃǵŦÄÜ´úÂ룬ÐèÒªµ÷Óúͷµ»ØÖµµÄʱºò£¬¿ÉÒÔ˳ÀûµÄµÃµ½Ä£Äâ¶ÔÏóµÄ·µ»ØÖµ¡£Ò²ÐèÒª¶ÔÄ£Äâ¶ÔÏó½øÐдíÎóÇé¿öµÄÄ£Ä⣬±£Ö¤´úÂë¶Ô´íÎóµÄ´¦ÀíµÄÕýÈ·ÐÔ¡£

²âÊÔ¸²¸ÇÂÊ·ÖÎö

ΪÁ˺âÁ¿µ¥Ôª²âÊÔµÄÖÊÁ¿ºÍ¸²¸ÇµÄ·¶Î§£¬ÐèÒª¶Ôµ¥Ôª²âÊԵĴúÂë½øÐвâÊÔ¸²¸Ç·ÖÎö¡£³£ÓõĺâÁ¿²âÊÔ¸²¸ÇÂʵÄÖ¸±êÖ÷ÒªÓÐÓï¾ä¸²¸ÇÂÊ¡¢·ÖÖ§¸²¸ÇÂÊ¡¢Â·¾¶¸²¸ÇÂÊ¡¢Ìõ¼þ¸²¸ÇÂʺͷ½·¨¸²¸ÇÂʵȡ£¾ßÌå²ÉÓÃÄÄЩָ±ê¿ÉÒÔ¸ù¾ÝÏîÄ¿µÄʵ¼ÊÇé¿öÀ´¶¨£¬ÒÔ±ÜÃâÒò¹ý¸ßµÄÖ¸±êÔö¼ÓÁË´úÂ뿪·¢ÈËÔ±µÄ¹¤×÷Á¿¶øÓ°ÏìÁËÏîÄ¿ÕûÌåµÄ½ø¶È¡£

EMMA ÊÇÒ»¿î±È½ÏÁ÷ÐеĿªÔ´ Java ²âÊÔ¸²¸ÇÂÊ·ÖÎö¹¤¾ß£¬Ö§³ÖÀà¡¢·½·¨¡¢´úÂëÐС¢»ù±¾´úÂë¿éµÈ¶àÖÖÀàÐ͵IJâÊÔ¸²¸ÇÂÊ·ÖÎö£¬Ö§³Ö½«¸²¸ÇÂÊ·ÖÎö½á¹ûµ¼³öΪ¶àÖÖ¸ñʽµÄ±¨¸æ£¬²¢²ÉÓöàÖÖÑÕÉ«À´¸ßÁÁÏÔʾ²»Í¬µÄ¸²¸ÇÂÊ״̬¡£EclEmma ÊÇÒ»¿î»ùÓÚ EMMA µÄ Eclipse ²å¼þ£¬·½±ãÔÚ Eclipse IDE ÖнøÐвâÊÔ¸²¸ÇÂÊ·ÖÎö¡£Èçͼ 9£¬ÔÚ²âÊÔÓÃÀýдºÃºó£¬¿ÉÒÔÔÚÓÒ¼üµã»÷²âÊÔÀ࣬ѡÔñ Coverage As -> JUnit Test.

ͼ 9. ÔËÐвâÊÔ¸²¸Ç·ÖÎö

µ¥Ôª²âÊÔÅÜÍêºó£¬CoverageÊÓͼÖлáÏÔʾËùÑ¡ÔñµÄ²âÊԵĸ²¸ÇÂÊ¡£Ë«»÷´ò¿ªÄ³Ò»¾ßÌåµÄÀàºó£¬¿ÉÒÔ¿´µ½¸ßÁÁÏÔʾµÄ¸²¸Ç·ÖÎö½á¹û£¬Èçͼ 10 Ëùʾ¡£ºìÉ«´ú±í²âÊÔûÓи²¸Çµ½¸ÃÐУ¬»ÆÉ«±íʾ²¿·Ö¸²¸Ç£¬ÂÌÉ«µÄÐбíʾ¸ÃÐÐÔÚ±¾´Î²âÊÔÖб»¸²¸Çµ½¡£

ͼ 10. ²é¿´²âÊÔ¸²¸Ç·ÖÎö½á¹û

ÔÚ Coverage ÊÓͼÖпÉÒÔͨ¹ýµã»÷Êó±êÓÒ¼ü½«²âÊÔ¸²¸Ç·ÖÎöµÄ½á¹ûµ¼³ö³ÉÐèÒªµÄ¸ñʽ£¬ÀýÈç HTML¡£

ͼ 11. µ¼³ö²âÊÔ¸²¸Ç·ÖÎö½á¹û

ͼ 12 ÏÔʾÁ˵¼³öµÄ report¡£

ͼ 12. ²âÊÔ¸²¸Ç·ÖÎö±¨¸æ

ΪÁ˱£Ö¤µ¥Ôª²âÊÔµÄÓÐЧÐÔºÍÖÊÁ¿£¬¿ÉÒԹ涨һ¸ö²âÊÔ¸²¸ÇÂʵÄÏÂÏÞ£¬ÀýÈçËùÓеİüºÍÀàµÄ¸²¸ÇÂʱØÐë´ïµ½ 80% ÒÔÉÏ¡£²»¹ýÖµµÃ×¢ÒâµÄÊÇ£¬²»Òªµ¥´¿×·Çó¸ß¸²¸ÇÂÊ£¬ÒªÍ¬Ê±×¢Òâ²âÊÔÓÃÀýµÄÖÊÁ¿£¬Èç¹û²âÊÔÓÃÀý±¾Éí¾ÍдµÄÓдíÎó£¬ÄÇô¼´Ê¹²âÊÔ¸²¸ÇÂʺܸßҲûÓÐÒâÒå¡£

²½ÖèËÄ£º³ÖÐø¼¯³É

³ÖÐø¼¯³É£¨Continuous Integration£©ÊÇÀûÓÃһϵÁеŤ¾ß£¬·½·¨ºÍ¹æÔò£¬×öµ½¿ìËٵĹ¹½¨¿ª·¢´úÂ룬×Ô¶¯µÄ²âÊÔ»¯£¬À´Ìá¸ß¿ª·¢´úÂëµÄЧÂʺÍÖÊÁ¿¡£ÀûÓÃ×Ô¶¯¹¹½¨¹¤¾ß£¬ËæÊ±¶¼ÄܰÑÌá½»µÄ´úÂë¹¹½¨³öÀ´£¬Ìṩһ¸ö¿ÉÒÔ²âÊÔʹÓõİ汾£¬ÈÃÓû§ºÍ¿ª·¢ÈËԱͬʱ¿´µ½ÏàͬµÄ¹¦ÄÜ£¬¾¡ÔçµÄ·¢ÏÖÎÊÌâºÍ´íÎó£¬Ò²¿ÉÒÔ¾¡¿ìµÄµÃµ½²âÊÔÈËÔ±ºÍÓû§µÄ·´À¡¡£

Òª×öµ½³ÖÐø¼¯³É£¬¾ÍÒªÀûÓÃһϵÁй¤¾ß£¬°Ñ¿ª·¢¹ý³ÌÖеÄÖØ¸´¹¤×÷×Ô¶¯»¯¡£´î½¨×Ô¶¯µÄ¹¹½¨·þÎñÆ÷£¬×Ô¶¯µÄ½øÐе¥Ôª²âÊԺͷ¢²¼Ð°汾£¬Ò»¸ö¼¯³ÉµÄ·þÎñÆ÷¿ÉÒÔÌṩ¹¹½¨¹ý³ÌµÄ½á¹û±¨¸æ£¬×Ô¶¯Í¨Öª¿ª·¢ÈËÔ±¹¹½¨½á¹û£¬²¢ÇÒ±£´æÀúÊ·Êý¾Ý¡£IBM Rational Team Concert (RTC) ¿ÉÒÔÌṩ¹¤×÷ÈÎÎñµÄ¹ÜÀí£¬ÏîÄ¿¼Æ»®µÄ°²ÅÅ£¬´úÂë°æ±¾¹ÜÀí¿ØÖÆ£¬×Ô¶¯¹¹½¨¿ÉÓð汾£¬Éú³É¹¹½¨½á¹û±¨¸æ¡£ÕâЩ¹ý³Ì¹¹³ÉÁËÏîÄ¿µÄ³ÖÐø¼¯³É¹ý³Ì£¬ÆäÖУ¬°æ±¾µÄ×Ô¶¯¹¹½¨ºÍ´úÂëµÄ×Ô¶¯µ¥Ôª²âÊÔÊdzÖÐø¼¯³ÉµÄ¹Ø¼ü¹ý³Ì£¬RTC ÔÚÕâЩ¹ý³ÌÉÏÌṩÁËÓÐÁ¦µÄÖ§³Ö¡£

×Ô¶¯¹¹½¨

RTC ÌṩÁË build engine À´¸ºÔð¹¹½¨ build£¬Ê×Ñ¡£¬Æô¶¯ build engine£¬²¢ºÍ RTC ·þÎñÆ÷½¨Á¢ÁËÁ¬½Ó¡£ÔÙ´´½¨ÏîÄ¿µÄ build ¶¨Òå¡£ÔÚÕâ¸ö¶¨ÒåÖУ¬ÐèÒªÉ趨±àÒëÄÄЩģ¿éµÄ´úÂ룬ÐèÒªÌø¶¯Äĸö ANT ÎļþÀ´Æô¶¯±àÒ룬ºÍһЩ±àÒë¹ý³ÌÖеIJÎÊýµÄÉ趨¡£µ±ÕâЩ¶¼×¼±¸ºÃÁË£¬±àÒë¶ÔÓÚÏîÄ¿¶øÑÔ£¬¾Í±ä³ÉÒ»¸ö¼òµ¥µÄÊÂÇé¡£

¿ÉÒÔ¿´µ½£¬Í¨¹ýÔÚ build ¶¨ÒåÉÏ£¬µã»÷ÇëÇó¹¹½¨£¬¾Í¿ÉÒÔ´¥·¢Ò»´Î¹¹½¨¹ý³Ì¡£Ñ¡ÔñÐèÒªµÄ¹¹½¨²ÎÊý£¬Õâ¸ö¹ý³Ì¾Í»áÔÚºǫ́ÔËÐС£Ã¿Ò»¸ö¿ª·¢ÈËÔ±£¬×öÁËÉÔÐíµÄ´úÂë¸Ä±äºÍÌá½»£¬¶¼¿ÉÒÔ´¥·¢ÐµĹ¹½¨¹ý³Ì£¬À´±£Ö¤ÎÒÃÇ´úÂëµÄÓÐЧÐÔ¡£ÉêÇëÒ»¸öÐµĹ¹½¨µÄ¹ý³ÌÈçͼ 13¡¢Í¼ 14 Ëùʾ¡£

ͼ 13. ÉêÇëÒ»¸öÐµĹ¹½¨

ͼ 14. ¹¹½¨ÉêÇë½çÃæ

µ±¹¹½¨½áÊøºó¡£RTC ·þÎñÆ÷»áÌṩ¹¹½¨½á¹û±¨¸æ¡£¿ª·¢ÈËÔ±¿ÉÒÔ²éѯµ½Õâ´Î¹¹½¨µÄÏêϸÐÅÏ¢¡£

ͼ 15. ¹¹½¨½á¹û

Õû¸ö¿ª·¢¹ý³ÌÖУ¬¹¹½¨°æ±¾µÄ¹ý³ÌÓ¦¸ÃÊÇÎÞÊý´ÎµÄ£¬Í¨¹ýÿ´Î¹¹½¨£¬¶¼¿ÉÒԵõ½µ±Ê±´úÂëµÄ±àÒëÇé¿ö£¬²¢ÇÒ¿ÉÒԵõ½Ò»¸ö¿ÉÔËÐеÄÈí¼þ°æ±¾¡£ÔÚ¹¹½¨¶¨ÒåÉÏ£¬RTC Ö§³ÖÉèÖù¹½¨¼Æ»®¡£¶¨Ê±×Ô¶¯µÄ´¥·¢Ò»´Î¹¹½¨¡£

ͼ 16. ¹¹½¨¶¨Òå

×Ô¶¯µ¥Ôª²âÊÔ

¹¹½¨¿ÉÒÔ×Ô¶¯ÁË£¬ÖصãÌá¸ß´úÂëÖÊÁ¿µÄµ¥Ôª²âÊÔÄØ£¿Èç¹ûÿһÌìµÄ´úÂ룬ÿһ¸ö°æ±¾µÄ´úÂ룬¶¼ÒѾ­Í¨¹ýÁËÎÒÃǵĵ¥Ôª²âÊÔ£¬ÕâÑùÎÒÃǾÍÄܶԴúÂëµÄÖÊÁ¿ÓÐÁË»ù±¾µÄ±£Ö¤¡£ÔÚ¹¹½¨½Å±¾µÄ×Ô¶¯µ÷Óùý³ÌÖУ¬Í¨¹ý ANT µÄ½Å±¾£¬¿ÉÒÔ¼ÓÉÏ JUnit£¬EMMA£¬FindBugs µÄ ANT ½Å±¾µ÷Óã¬Ã¿Ò»´ÎµÄ¹¹½¨£¬¶¼¿ÉÒÔ°ÑÕâЩ¼ì²é¹¤×÷×Ô¶¯µÄ½øÐÐÒ»±é²âÊÔ¡£ÕâЩ²âÊÔ¶¼ÒªÉú³É²âÊÔ½á¹û±¨¸æ£¬ RTC ²»ÄÜÌṩÕâЩ±¨¸æµÄչʾ£¬¾Í¿ÉÒÔÀûÓà Hudson Õâ¸ö¿ªÔ´¹¤¾ß£¬¼¯³É²âÊÔ±¨¸æÀ´·½±ã²éÔÄ¡£

ͼ 17. ×Ô¶¯²âÊÔ±¨¸æ

²½ÖèÎ壺´úÂëÆÀÉóºÍÖØ¹¹

´úÂëÆÀÉó£¨Code Review£©ÊÇ Java ÏîÄ¿¿ª·¢¹ý³ÌÖеÄÒ»¸öÖØÒª²½Ö裬´úÂëÆÀÉó¿ÉÒÔ°ïÖú·¢ÏÖ¾²Ì¬´úÂë·ÖÎö¹ý³ÌÖÐÎÞ·¨·¢ÏÖµÄһЩÎÊÌ⣬ÀýÈç´úÂëµÄ±àдÊÇ·ñ·ûºÏ±àÂë¹æ·¶£¬´úÂëÔÚÂß¼­ÉÏ»òÕß¹¦ÄÜÉÏÊÇ·ñ´æÔÚ´íÎ󣬴úÂëÔÚÖ´ÐÐЧÂʺÍÐÔÄÜÉÏÊÇ·ñÓÐÐèÒª¸Ä½øµÄµØ·½£¬´úÂëµÄ×¢ÊÍÊÇ·ñÍêÕûÕýÈ·£¬´úÂëÊÇ·ñ´æÔÚÈßÓàºÍÖØ¸´¡£´úÂëÆÀÉ󻹿ÉÒÔ°ïÖúнøÈëÏîÄ¿×éµÄ³ÉÔ±¿ìËÙѧϰºÍÁ˽âÏîÄ¿£¬´Ù½ø¾­Ñé·ÖÏí£¬Í¬Ê±Ò²Äܱ£Ö¤ÏîÄ¿³ÉÔ±µÄÁ¼ºÃ¹µÍ¨¡£´úÂëÆÀÉóÖ÷Òª°üÀ¨Á½ÖÖÐÎʽ£¬Í¬¼¶ÆÀÉó£¨Peer Review£©ºÍС×éÆÀÉó£¨Group Review£©¡£Í¬¼¶ÆÀÉóÖ÷ÒªÖ¸ÏîÄ¿³ÉÔ±¼äµÄ»¥ÏàÆÀÉó£¬Ð¡×éÆÀÉóÊÇָͨ¹ýÕÙ¿ªÆÀÉó»áÒ飬ÏîÄ¿³ÉÔ±Ò»Æð¶ÔÏîÄ¿´úÂë½øÐÐÆÀÉó¡£

ΪÁËÌá¸ß´úÂëÆÀÉóµÄÓÐЧÐÔºÍЧÂÊ£¬¿ÉÒÔ½èÖúһЩÍⲿ¹¤¾ß£¬±È½Ï³£ÓõĴúÂëÆÀÉ󹤾ßÓÐ Jupiter ºÍ Code Striker¡£Jupiter ÊÇÒ»¿î¿ªÔ´µÄ Eclipse ²å¼þ£¬ÔÊÐí³ÉÔ±½«ÆÀÉóÒâ¼û¶¨Î»µ½ÕæÊµ´úÂëµÄ¾ßÌåÐУ¬ÓÉÓÚ´úÂëÆÀÉóµÄ½á¹ûÒÔ XML ÎļþµÄÐÎʽ±£´æ£¬ËùÒÔ¿ÉÒ԰ѽá¹ûÌá½»µ½°æ±¾¹ÜÀí·þÎñÆ÷½øÐй²Ïí¡£Í¼ 18 ÏÔʾÁËʹÓà Jupiter ½øÐдúÂëÆÀÉóµÄ½çÃæ¡£

ͼ 18. Jupiter ´úÂëÆÀÉó½çÃæ

ÔÚ´úÂëÆÀÉóÈÎÎñ´´½¨ºó£¬Jupiter ½«´úÂëÆÀÉó·Ö³ÉÈý¸ö½×¶Î£¬¸öÈËÆÀÉó½×¶Î (Individual Phase)¡¢ÍŶӯÀÉó½×¶Î£¨Team Phase£©ºÍÎÊÌâÐÞ¸´½×¶Î£¨Rework Phase£©¡£ÔÚ¸öÈËÆÀÉó½×¶Î£¬ÆÀÉó³ÉÔ±½«·¢ÏֵĴúÂëÎÊÌâ»òÕßȱÏݼǼÏÂÀ´£¬Ã¿¸öÎÊÌâ¶¼»á×÷Ϊһ¸ö¼Ç¼±£´æÔÚÆÀÉó±í¸ñÖС£ÔÚÍŶӯÀÉó½×¶Î£¬ÍŶӵÄÈ«²¿»òÕß²¿·Ö³ÉÔ±»áÒ»Æð¶Ô¸öÈËÆÀÉó½×¶Î·¢ÏÖµÄÎÊÌâ½øÐж¨ÐÔ£¬Èç¹ûÎÊÌâȷʵ´æÔÚ£¬¾Í½«¸ÃÎÊÌâ·ÖÅ䏸ij¸ö³ÉԱȥ½â¾ö£¬²¢ÔÚ Jupiter Öн«¸ÃÎÊÌâÉèÖóÉÏàÓ¦µÄ״̬¡£ÔÚÎÊÌâÐÞ¸´½×¶Î£¬ÍŶӳÉÔ±»áÐÞ¸´ÊôÓÚ×Ô¼ºµÄÎÊÌ⣬²¢½«ÏàÓ¦µÄ¼Ç¼ÉèÖóÉÒѽâ¾öµÈÕýÈ·µÄ״̬¡£

Codestriker ÊÇÒ»¿î»ùÓÚ Web µÄ³£ÓôúÂëÆÀÉ󹤾ߣ¬¶Ô´úÂëµÄÆÀÉó¿ÉÒÔÕë¶Ôijһ¾ßÌåÐУ¬Ò²¿ÉÒÔÕë¶ÔÕû¸ö´úÂëÎļþ£¬ÆÀÉóÒâ¼û»á±»±£´æÔÚÊý¾Ý¿âÖС£ÆÀÉóÈËÔ±¿ÉÒÔͬʱ¿´µ½ÆäËûÈËµÄÆÀÂÛ£¬´úÂë×÷ÕßÒ²¿ÉÒÔÕë¶Ôijһ¾ßÌåµÄÆÀÂۻظ´¡£Codestriker Ö§³ÖÓʼþ֪ͨ£¬»¹¿ÉÒÔͬ°æ±¾¿ØÖÆ·þÎñÆ÷½øÐм¯³É£¬ÒÔ¸ú×ÙºÍÏÔʾÎļþÄÚÈݵĸı䡣ͼ 19 ÏÔʾÁË Codestriker µÄ½çÃæ¡£

ͼ 19. Codestriker ±¨¸æ½çÃæ

ÔÚʵ¼ùÖжÔËùÓдúÂë½øÐÐС×éÆÀÉó»á±È½Ï·Ñʱ£¬ËùÒÔ¿ÉÒÔ¸ù¾Ýʵ¼ÊÇé¿öÀ´ÌôѡһЩºËÐÄ´úÂë½øÐÐС×éÆÀÉ󣬻òÕßÔÚÏîÄ¿µÄǰÆÚ°²ÅŽ϶àµÄС×éÆÀÉ󣬵ÈÏîÄ¿×éµÄ³ÉÔ±¶Ô´úÂëÆÀÉóµÄ±ê×¼ºÍÒªÇóÓнϺõÄÀí½â£¬½øÐдúÂëÆÀÉóµÄ¾­ÑéÌá¸ßºó£¬¾Í¿ÉÒÔÖð½¥¼õÉÙС×éÆÀÉóµÄ´ÎÊý£¬´Ó¶ø´ïµ½´ó²¿·Ö´úÂ뼴ʹֻ½øÐÐͬ¼¶ÆÀÉóÒ²Äܱ£Ö¤ºÜºÃµÄÖÊÁ¿¡£

ͨ¹ý´úÂëÆÀÉó·¢ÏÖµÄÎÊÌâҪͨ¹ý´úÂëÖØ¹¹¼°Ê±½â¾öµô£¬½ÏСµÄ²»Éæ¼°¶àÈË´úÂëµÄÖØ¹¹¿ÉÒÔÓÉÏîÄ¿³ÉÔ±×Ô¼º½èÖú Eclipse µÄÖØ¹¹¹¦ÄÜÍê³É£¬²»Í¬ÏîÄ¿³ÉԱдµÄʵÏÖÏàͬ¹¦ÄܵIJ»Í¬´úÂëҪͨ¹ýÌÖÂÛÕûºÏ³É¹«¹²µÄÀà»òÕß·½·¨¡£±È½Ï¸´ÔӵĻòÕ߱Ƚϸ߲ã´ÎµÄÖØ¹¹¹¤×÷£¬ÀýÈçÕû¸öÏîÄ¿²ãÃæµÄ´úÂë×éÖ¯ÐÎʽµÄ¸Ä±äÐèÒªÓÉÕû¸öÏîÄ¿×鹲ͬÌÖÂÛÍê³É¡£

½áÂÛ

Èí¼þ¿ª·¢Ã»ÓÐÒ»³É²»±ä¡¢ÍòÄÜͨÓõÄÁ÷³ÌºÍ·½·¨£¬Ï£Íû´ó¼ÒÄÜ´Ó±¾Îĵõ½Æô·¢ºÍÊÕÒæ£¬½áºÏÄúµÄʵ¼ÊÏîÄ¿ÌØµã£¬Êµ¼ùÒÔÉϲ½ÖèºÍ·½·¨£¬²¢¼ÓÒÔÍêÉÆºÍ¸Ä½ø£¬¹²Í¬´òÔì¸ßЧ¸ßÖÊÁ¿µÄ Java ´úÂ룬ΪÄúµÄÏîÄ¿³É¹¦µì¶¨¼áʵµÄ»ù´¡¡£

   
3315 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

WEBÓ¦ÓóÌÐòUIÄ£°æ´úÂë±àд
C# ±àÂë¹æ·¶ºÍ±à³ÌºÃϰ¹ß
ʲôÊÇ·ÀÓùÐÔ±à³Ì
ÉÆÓÚ·ÀÊØ-½¡×³´úÂëµÄ·ÀÓùÐÔ
Visual C++±à³ÌÃüÃû¹æÔò
JavaScript³ÌÐò±àÂë¹æ·¶


Éè¼ÆÄ£Ê½Ô­ÀíÓëÓ¦ÓÃ
´ÓÐèÇó¹ý¶Éµ½Éè¼Æ
Èí¼þÉè¼ÆÔ­ÀíÓëʵ¼ù
ÈçºÎ±àд¸ßÖÊÁ¿´úÂë
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
Èí¼þ¿ª·¢¹ý³ÌÖ¸ÄÏ


ijȫÇòÖªÃûͨÐŹ«Ë¾ ´úÂëÕû½à
ºáºÓµç»ú ÈçºÎ±àд¸ßÖÊÁ¿´úÂë
ij֪Ãû½ðÈÚÈí¼þ·þÎñÉÌ ´úÂëÆÀÉó
¶«Èí¼¯ÍÅ ´úÂëÖØ¹¹
ij½ðÈÚÈí¼þ·þÎñÉÌ ¼¼ÊõÎĵµ
Öдïµçͨ Éè¼ÆÄ£Ê½Ô­ÀíÓëʵ¼ù
·¨¹úµçÐÅ ¼¼ÊõÎĵµ±àдÓë¹ÜÀí