Java¾²Ì¬´úÂë¼ì²é¹¤¾ß±Ê¼Ç
code review ¹¤¾ßÁбí
1.´úÂë¸ñʽ¼ì²écheckstyle;
2.ÐÔÄÜ°²È«×î¼Ñʵ¼ù¼ì²éRAD Software AnalyzerºÍFindBug;
3.ÒÀÀµ¼ì²éJDepend;
4.Öظ´ÐÔ¼ì²éeclipse PMD²å¼þ;
5.¸´ÔӶȼì²éeclipse Metrics²å¼þ;
6.Ð×÷¹¤¾ßJupiter
Jupiter
1.Unset±íʾûÓÐÑ¡Ôñ£¬¶ø²»ÊÇÒ»¸ö¾ßÌåÀàÐÍ
2.Èý¸ö½×¶ÎÓÐĬÈϵÄFilterÌõ¼þ£¬Ò»°ã²»ÓÃÐ޸ġ£
3.reviewerÐèÒª°ÑÆÀÉóÕß¡¢±»ÆÀÉóÕ߶¼¼ÓÈ룬ÒÔ±ãÔÚteam reviewµÄʱºò£¬½øÐдúÂëÐÞ¸ÄÖ¸ÅÉ¡£
4.ȨÏÞ¿ØÖÆ´æÔÚÎÊÌ⣬ÒòΪ±»ÆÀÉóÕß¿ÉÒÔɾ³ýcode view issue£¬ÈÝÒ×Îó²Ù×÷£¬²»ºÃ¿ØÖÆ¡£
Ò²¾ÍÊÇ˵£¬ÆÀÉóÕßÖ®¼äûÓ춱ð¸ßµÍ¹Øϵ
EclEmma ÊÇ´úÂ븲¸ÇÂʲâÊÔ¡£µ«¼´Ê¹´úÂ븲¸ÇÂÊ´ïµ½100%£¬Ò²²»ÄܱíÃ÷¾ÍÍòÊ´ó¼ªÁË¡£ÒòΪÎÒÃÇËùνµÄ´úÂ븲¸ÇÂÊ£¬Ö÷Òª
ÊÇÖ¸£¬ÒµÎñ´úÂëÊÇ·ñ±»µ¥Ôª²âÊÔÓÃÀý²â¹ý¡£
Èç¹û¶¼²â¹ý£¬¾ÍÊÇ100%µÄ¸²¸ÇÂÊ¡£µ«ÊÇÕâ¸ö¸²¸ÇÂÊ£¬Ò²ÊÇÏà¶ÔµÄ¡£ÒòΪ¶ÔÓÚsayHelloÕâÑùµÄ·½·¨£¬Ð´²»Í¬µÄµ¥Ôª²âÊÔ´úÂë
£¬±¾Éí¾Í»á²úÉú²»Í¬µÄ¸²¸ÇÂÊ¡£
ËùÒÔ100%Ö»ÊÇ˵²âµ½ÁË£¬µ«ÊDzâ¶àÉ¶àÈ«Ã棬ÊDz»ºÃ˵µÄ¡£
°²×°ºÃEclemmaÖ®ºó£¬ÔÚjavaÎļþ»òÕßpackageÉϵã»÷ÓÒ¼ü£¬ÓÐÒ»¸öcoverage as²Ëµ¥£¬¿ÉÒÔÑ¡java application»òÕßÊÇ
JUnit£¬Èç¹ûÑ¡Ôñjava application£¬ÓеãÀàËÆreferenceͳ¼Æ£¬Ò²¾ÍÊÇÆäËûÀàµÄµ÷Óó̶ȡ£
Õâ¿ÉÒÔÓÃÀ´Ìô³öijЩ¸ù±¾²»±»Ê¹ÓõÄÀà»òÕß·½·¨¡£
Èç¹ûÑ¡ÔñJUnit£¬Ôò¿ÉÒÔÓÃÀ´ºâÁ¿ÏµÍ³Öб»µ¥Ôª²âÊÔ¸²¸ÇµÄ¹ã¶È¡£
²Î¿¼×ÊÁÏ£º¡¶²âÊÔ¸²¸ÇÂÊÖ®¶þ——²âÊÔ¸²¸ÇÂÊÓÐʲôÓã¿¡·http://tech.it168.com/a2009/0117/263/000000263342.shtml
³£ÓÃj¾²Ì¬¼ì²â¹¤¾ß£º
http://www.daniel-journey.com/archives/79
http://www.daniel-journey.com/archives/319
JDepend
http://www.diybl.com/course/3_program/java/javajs/20091008/178252.html
Ö÷Òª¸ù¾ÝRobert C. MartinÊÏÌá³öµÄÃæÏò¶ÔÏóÉè¼ÆÔÔò£¬JDependÉú³ÉµÄJava°üµÄÖÊÁ¿ÆÀ¼Û±¨¸æÖ÷Òª°üÀ¨£º
Number of Classes and Interfaces £ºÊµÏÖÀàÓë³éÏó½Ó¿ÚµÄÊýÄ¿¡£The Stable Abstractions Principle (SAP)£ºÎȶ¨
³éÏóµÈ¼ÛÔÔò Ö¸³öÁË°üµÄÎȶ¨³Ì¶ÈÓëËüµÄ³éÏó³Ì¶È£¨½Ó¿ÚµÄÊýÄ¿£©³ÉÕý±È£¬Ò²¾ÍÊÇ˵£¬Ò»¸ö°üÄÚ°üº¬µÄ½Ó¿ÚËùÕ¼µÄ±ÈÖØÔ½
´ó£¬Õâ¸ö°ü¾ÍÔ½Îȶ¨¡£
Abstractness (A) £º°üµÄ³éÏó¶È¡£Ö¸Ò»¸ö°üÄÚ°üº¬µÄ³éÏóÀà»ò½Ó¿ÚÕ¼Õû¸ö°üÖеÄÀàµÄ±ÈÖØ¡£¸ÃÖµ´¦ÓÚ0£¬1Ö®¼ä£¬Èô
A=0£¬ËµÃ÷°üÄÚ²»°üº¬ÈκγéÏóÀà»ò½Ó¿Ú£»ÈôA=1,˵Ã÷°üÄÚÈ«²¿ÊdzéÏóÀ
Ïà¹ØÎĵµ£º
dzÎöJava web³ÌÐòÖ®¿Í»§¶ËºÍ·þÎñÆ÷¶Ë½»»¥ÔÀí
½üÀ´Ò»Ö±ÔÚ˼¿¼Ò»¸öÒÉÎÊ£¬ÎªÊ²Ã´ÔÚÓÃstruts¿ò¼Ü¿ª·¢µÄʱºòFormBean¶¼ÐëÒªÐòÁл¯£¬¼´ÊµÏÖJava.io.Serializable½Ó¿Ú£¬±¾×ÅÇÚѧºÃÎʵľ«ÉñÎÒGoogleÁË϶ÔÏóÐòÁл¯·½ÃæµÄÎÄÕ£¬ËäÈ»´óÌåÃ÷°×ÁËÈçºÎ×ö£¬µ«ÊÇ»¹ÊÇûÓиãÇå³þΪʲôҪÕâÑù×ö£»½áβÎÒÏë´¦ÀíÒ»¸öÒÉÎÊÒªÕÒÒÉÎʵĸùÔ´ºÍ±¾ÖÊ ......
===================================TimerTask=======================================
import java.util.TimerTask;
import java.util.Calendar;
public class MyTask extends TimerTask
{
private ......
ÍƼöÒ»¿îJava·´±àÒëÆ÷£¬Ò²Ê¹ÓÃÁËͦ¾ÃµÄÁË£¬¸Ð¾õ»¹ÊǺܺÃÓ㬾ÍÄóöºÍ´ó¼Ò·ÖÏíһϡ£
Õâ¿î·´±àÒëÆ÷½Ð "Java Decompiler", ÓÉ Pavel Kouznetsov¿ª·¢£¬Ä¿Ç°×îа汾Ϊ0.2.5.
ËüÓÉ C++¿ª·¢£¬²¢ÇÒ¹Ù·½¿ÉÒÔÏÂÔØ windows¡¢linuxºÍÆ»¹ûMac OsÈý¸öƽ̨µÄ¿ÉÖ´ÐгÌÐò¡£
±¾ÈËÖ®ËùÒÔÈÏΪËü»¹²»´í£¬ÊÇÆäÓÐÏÂÃ漸¸ö¹ ......
JAVAÀà×°ÔØÆ÷classloaderºÍÃüÃû¿Õ¼änamespace
JAVAÐéÄâ»úͨ¹ý×°ÔØ¡¢Á¬½ÓºÍ³õʼ»¯Ò»¸öJAVAÀàÐÍ£¬Ê¹¸ÃÀàÐÍ¿ÉÒÔ±»ÕýÔÚÔËÐеÄJAVA³ÌÐòËùʹÓá£ÆäÖУ¬×°ÔؾÍÊǰѶþ½øÖÆÐÎʽµÄJAVAÀàÐͶÁÈëJAVAÐéÄâ»úÖС£Á¬½Ó¾ÍÊÇ°ÑÕâÖÖÒѾ¶ÁÈëÐéÄâ»úµÄ¶þ½øÖÆÐÎʽµÄÀàÐÍÊý¾ÝºÏ²¢µ½ÐéÄâ»úµÄÔËÐÐʱ״̬ÖÐÈ¥¡£Á¬½Ó½×¶Î·ÖΪÈý¸ö²½Öè£ÑéÖ¤¡¢× ......