Ãô½Ý¿ª·¢Öбàд¸ßÖÊÁ¿Java´úÂë
ÔÎijö´¦£ºhttp://java.csdn.net/a/20100308/259219.html
Ãô½Ý¿ª·¢µÄÀíÄîÒѾÁ÷ÐÐÁ˺ܳ¤µÄʱ¼ä£¬ÔÚÃô½Ý¿ª·¢ÖеĿª·¢µü´ú½×¶ÎÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÎå¸ö²½Ö裬À´ÓÐЧµÄÌá¸ßÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿¡£
JavaÏîÄ¿¿ª·¢¹ý³ÌÖУ¬ÓÉÓÚ¿ª·¢ÈËÔ±µÄ¾Ñé¡¢Java´úÂë±àдϰ¹ß£¬ÒÔ¼°È±·¦Í³Ò»µÄ±ê×¼ºÍ¹ÜÀíÁ÷³Ì£¬ÍùÍùµ¼ÖÂÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿½Ï²î£¬ÄÑÓÚά »¤£¬ÐèÒª½Ï´óµÄ²âÊÔͶÈëºÍÖÜÆÚµÈÎÊÌâ¡£ÕâЩÎÊÌâÔÚÒ»¸öÏîÄ¿×é³õ½¨¡¢ÐèÇóºÍÉè¼Æ¾ù¾ßÓв»ÍêÈ«¿ÉÔ¤ÆÚÐÔºÍÍ걸ÐÔµÄÈ«ÐÂÏîÄ¿Öн«ÓÈΪͻ³ö¡£
Èçͼ1Ëùʾ£¬Ãô½Ý¿ª·¢¹ý³Ì¾ÀúÐèÇóµ÷ÑУ¬ÓÃÀý·ÖÎöºÍÓÃÀý·Ö½â£¬½øÈ뿪·¢µü´ú½×¶Î¡£ÔÚÿ¸öµü´ú¹ý³ÌÖУ¬¿ÉÒÔ²ÉÓÃÒÔϲ½ÖèÀ´±£Ö¤ºÍÌá¸ßÕû¸öÏîÄ¿µÄ´ú ÂëÖÊÁ¿£ºÍ³Ò»±àÂë¹æ·¶¡¢´úÂëÑùʽ;¾²Ì¬´úÂë·ÖÎö(staticcodereview);µ¥Ôª²âÊÔ;³ÖÐø¼¯³É;´úÂëÆÀÉóºÍÖØ¹¹ (Review&Refactor)¡£ÏÂÎĽ«Õë¶Ôÿ¸ö²½ÖèºÍÆäËùʹÓõŤ¾ß¡¢·½·¨½øÐÐÏêϸÃèÊö¡£
ͼ1.Ãô½Ý¿ª·¢ÖеÄJava´úÂëÖÊÁ¿±£Ö¤²½Öè
²½ÖèÒ»£ºÍ³Ò»±àÂë¹æ·¶¡¢´úÂëÑùʽ
¹æ·¶Í³Ò»µÄ±àÂë»áÔö¼ÓÏîÄ¿´úÂëµÄ¿É¶ÁÐԺͿÉά»¤ÐÔ£¬µ«Êµ¼ÊÇé¿öÍùÍùÊÇÏîÄ¿×éÄÚµÄJava´úÂ뿪·¢ÈËÔ±µÄ±àÂë·ç¸ñ³£³£¸÷²»Ïàͬ£¬Õâ¿ÉÄÜÊÇÓÉÓÚ²»Í¬ µÄ¾Ñéϰ¹ß»òÕßȱ·¦±àÂë¹æ·¶·½ÃæµÄѧϰÔì³ÉµÄ¡£ÕâÑùÒ»À´£¬ÆäËûÏîÄ¿³ÉÔ±»òÕßά»¤ÈËÔ±ÔÚÔĶÁÏîÄ¿´úÂëʱ¾ÍÐèÒª»¨·Ñ¸ü¶àµÄʱ¼äÀ´Àí½â´úÂë×÷ÕßµÄÒâͼ£¬ËùÒÔÖÆ¶¨ ²¢²ÉȡͳһµÄ±àÂë¹æ·¶¾ÍÏԵúÜÖØÒª¡£±àÂë¹æ·¶Ö÷ÒªÓ¦°üº¬ÒÔϼ¸¸ö·½Ã棺
¡ôÒ»°ã¹æÔòºÍ¸ñʽ¹æ·¶¡£ÀýÈç´úÂëËõ½ø¡¢³ÌÐò¿é¹æ·¶¡¢Ã¿ÐÐ×î´ó´úÂ볤¶ÈµÈ¡£
¡ôÃüÃû¹æÔò¡£ÀýÈç°üÃû¡¢ÀàÃû¡¢±äÁ¿¡¢·½·¨¡¢½Ó¿Ú¡¢²ÎÊýµÈÃüÃû¹æ·¶
¡ôÎĵµ¹æ·¶¡£ÀýÈçÀàÎļþÍ·ÉùÃ÷¡¢Àà×¢ÊÍ¡¢³ÉÔ±±äÁ¿ºÍ·½·¨×¢Ê͵ȹ淶¡£
¡ô±à³Ì¹æ·¶¡£ÀýÈçÒì³£¡¢²¢·¢¡¢¶àÏ̵߳ȷ½ÃæµÄ´¦Àí·½Ê½¡£
¡ôÆäËû¹æ·¶¡£ÀýÈçÈÕÖ¾¸ñʽ¡¢ÊôÐÔÎļþ¸ñʽ£¬·µ»ØÖµºÍÏûÏ¢¸ñʽ¡£
ÏîÄ¿µÄ±àÂë¹æ·¶¿ÉÒԲο¼ÒÑÓеÄһЩJava±à³Ì¹æ·¶Êé¼®ºÍÆäËûÏà¹Ø×ÊÁϲ¢½áºÏÏîÄ¿µÄ±¾ÉíÀ´Öƶ¨£¬¿É¹©²Î¿¼µÄÊé¼®ÓС¶Java±à³Ì·ç¸ñ¡·(Ó¢ÎÄÊé ÃûΪ£ºTheElementsofJavaStyle)¡£±àÂë¹æ·¶ÒªÐγÉÎĵµ£¬¶øÇÒÒª¼ò½àÃ÷ÁË£¬²¢×éÖ¯ÏîÄ¿³ÉÔ±Ò»Æðѧϰ£¬È·±£ËùÓгÉÔ±ÕýÈ·Àí½âËùÓÐÌõÄ¿¡£
Ò»µ©±àÂë¹æ·¶È·¶¨£¬¾Í¿ÉÒÔÀûÓÃEclipse×ÔÉíÌṩµÄ¹¦ÄÜÀ´¿ØÖÆ´úÂëÑùʽºÍ¸ñʽ¡£¾ßÌå×ö·¨ÊÇ£¬µã»÷EclipseµÄ Windows->Preference²Ëµ¥ÏÔÚ´ò¿ªµÄPreferences¶Ô»°¿òµÄ×ó²àÀ¸ÖÐÕÒµ½Java½ÚµãϵÄ×ÓÏîCodeStyle(Èçͼ2)£¬¸ÃÏî ºÍËüµÄ×ÓÏîÔÊÐíÄú¶ÔJava´úÂëµÄÑùʽ½øÐпØÖÆ¡£
ͼ2.Eclipse´úÂëÑùʽÉèÖô°¿Ú
ÀýÈ磬ΪÁ
Ïà¹ØÎĵµ£º
java 23ÖÖÉè¼ÆÄ£Ê½£¬Ò»°ãÇé¿öÏ£¬³£ÓõÄÓÐÄÄЩ?
¹¤³§Ä£Ê½£¬ ¹¤³§·½·¨Ä£Ê½£¬µ¥Àýģʽ£¬ Íâ¹Û£¨Facade£©Ä£Ê½£¬ ¹Û²ìÕߣ¨Observer£©Ä£Ê½£¬ÇŽӣ¨Bridge£©Ä£Ê½¶¼ÊDZȽϳ£Óõ쬲»Í¬µÄÏîÄ¿Óв»Í¬µÄÉè¼Æ·½Ïò£¬¿ÉÒԲο¼µÄÉè¼ÆÄ£Ê½Ò²²»¾¡Ïàͬ£¬Ã»Óж¨Êý£¬Ö»ÊÇÉÏÃæÕ⼸¸öģʽÓõıȽ϶àһЩ¡£
ÆäËûµÄÄ ......
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºËÐÄÀà¿â
(collections£¬serialization£¬streams£¬networking£¬
multithreading£¬reflection£¬event£¬h ......
Ãô½Ý¿ª·¢µÄÀíÄîÒѾÁ÷ÐÐÁ˺ܳ¤µÄʱ¼ä£¬ÔÚÃô½Ý¿ª·¢ÖеĿª·¢µü´ú½×¶ÎÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýÎå¸ö²½Ö裬À´ÓÐЧµÄÌá¸ßÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿¡£
JavaÏîÄ¿¿ª·¢¹ý³ÌÖУ¬ÓÉÓÚ¿ª·¢ÈËÔ±µÄ¾Ñé¡¢Java´úÂë±àдϰ¹ß£¬ÒÔ¼°È±·¦Í³Ò»µÄ±ê×¼ºÍ¹ÜÀíÁ÷³Ì£¬ÍùÍùµ¼ÖÂÕû¸öÏîÄ¿µÄ´úÂëÖÊÁ¿½Ï²î£¬ÄÑÓÚά
»¤£¬ÐèÒª½Ï´óµÄ²âÊÔͶÈëºÍÖÜÆÚµÈÎÊÌâ¡£ÕâЩÎÊÌâÔÚÒ»¸ ......
ÃæÊÇÎÒÈÏΪÕýÈ·µÄ×ö·¨£¨½áºÏ×Ô¼ºµÄ¾ÑéдµÄ£¬Èç¹û²»ÕýÈ·£¬Çë´ó¼ÒÖ¸Õý£©£º
¡¡¡¡ÎҵĻæÍ¼¿Ø¼þÊÇJPanel£¬
¡¡¡¡³öÏÖ¹ö¶¯ÌõµÄǰÌᣬ±ØÐëÈûæÍ¼¿Ø¼þ·ÅÔÚJScrollPaneÉÏ£¬
¡¡¡¡¶ÔÓÚJScrollPaneµÄLayout£¬Ã»ÓÐÌØÊâÒªÇó£¬ÏÂÃæÕâÑù¼´¿É£º
¡¡¡¡view plaincopy to clipboardprint?
¡¡¡¡jScrollPane1.setViewportView(jPanel1);
¡¡ ......
Genaral Principles Ò»°ãÔ¼¶¨
1.Adhere to the style
of the original.
±£³Ö×î³õµÄÑùʽ¡£
2.Adhere to the Principle of Least
Astonishment.
×ñÊØ×îС¾ªÆæÔÔò¡£
3.Do it right the first time.
µÚÒ»´Î¾ÍÓ¦µ±×öºÃ¡£
4.Document any deviations.
¶ÔÓÚÈκα³Àë¶¼Ó¦µ±Îĵµ×¢ÊÍ¡£
Formatting
Convent ......