Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

[×ªÔØ]Java¿ª·¢×îÈÝÒ×·¸µÄ¼¸ÖÖ´íÎó

1.Duplicated Code
 
´úÂëÖØ¸´¼¸ºõÊÇ×î³£¼ûµÄÒìζÁË¡£ËûÒ²ÊÇRefactoringµÄÖ÷ҪĿ±êÖ®Ò»¡£´úÂëÖØ¸´ÍùÍùÀ´×ÔÓÚcopy-and-pasteµÄ±à³Ì·ç¸ñ¡£ÓëËûÏà¶ÔÓ¦OAOOÊÇÒ»¸öºÃϵͳµÄÖØÒª±êÖ¾¡£
 
2.Long method
 
ËüÊÇ´«Í³½á¹¹»¯µÄ“ÒŶ¾”¡£Ò»¸ö·½·¨Ó¦µ±¾ßÓÐ×ÔÎÒ¶ÀÁ¢µÄÒâͼ£¬²»Òª°Ñ¼¸¸öÒâͼ·ÅÔÚÒ»Æð¡£
 
3.Large Class
 
´óÀà¾ÍÊÇÄã°ÑÌ«¶àµÄÔðÈν»¸øÁËÒ»¸öÀà¡£ÕâÀïµÄ¹æÔòÊÇOne Class One Responsibility.
 
4.Divergent Change
 
Ò»¸öÀàÀïÃæµÄÄÚÈݱ仯Âʲ»Í¬¡£Ä³Ð©×´Ì¬Ò»¸öСʱ±äÒ»´Î£¬Ä³Ð©Ôò¼¸¸öÔÂÒ»Äê²Å±äÒ»´Î£»Ä³Ð©×´Ì¬ÒòΪÕâ·½ÃæµÄÔ­Òò·¢Éú±ä»¯£¬¶øÁíһЩÔòÒòΪÆäËû·½ÃæµÄÔ­Òò±äÒ»´Î¡£ÃæÏò¶ÔÏóµÄ³éÏó¾ÍÊǰÑÏà¶Ô²»±äµÄºÍÏà¶Ô±ä»¯Ïà¸ôÀë¡£°ÑÎÊÌâ±ä»¯µÄÒ»·½ÃæºÍÁíÒ»·½ÃæÏà¸ôÀë¡£ÕâʹµÃÕâЩÏà¶Ô²»±äµÄ¿ÉÒÔÖØÓá£ÎÊÌâ±ä»¯µÄÿ¸ö·½Ãæ¶¼¿ÉÒÔµ¥¶ÀÖØÓá£ÕâÖÖÏàÒì±ä»¯µÄ¹²´æÊ¹µÃÖØÓ÷dz£À§ÄÑ¡£
 
5.Shotgun Surgery
 
ÕâÕýºÃºÍÉÏÃæÏà·´¡£¶Ôϵͳһ¸öµØ·½µÄ¸Ä±äÉæ¼°µ½ÆäËûÐí¶àµØ·½µÄÏà¹Ø¸Ä±ä¡£ÕâЩ±ä»¯Âʺͱ仯ÄÚÈÝÏàËÆµÄ״̬ºÍÐÐΪͨ³£Ó¦µ±·ÅÔÚͬһ¸öÀàÖС£
 
6.Feature Envy
 
¶ÔÏóµÄÄ¿µÄ¾ÍÊÇ·âװ״̬ÒÔ¼°ÓëÕâЩ״̬½ôÃÜÏà¹ØµÄÐÐΪ¡£Èç¹ûÒ»¸öÀàµÄ·½·¨Æµ·±ÓÃget ·½·¨´æÈ¡ÆäËûÀàµÄ״̬½øÐмÆË㣬ÄÇôÄãÒª¿¼ÂǰÑÐÐÎªÒÆµ½É漰״̬ÊýÄ¿×î¶àµÄÄǸöÀà¡£
 
7.Data Clumps
 
ijЩÊý¾Ýͨ³£Ïñº¢×ÓÒ»Ñù³ÉÈºÍæË££ºÒ»Æð³öÏÖÔںܶàÀàµÄ³ÉÔ±±äÁ¿ÖУ¬Ò»Æð³öÏÖÔÚÐí¶à·½·¨µÄ²ÎÊýÖУ¬ÕâЩÊý¾Ý»òÐíÓ¦¸Ã×Ô¼º¶ÀÁ¢ÐγɶÔÏó¡£
 
8.Primitive Obsession
 
ÃæÏò¶ÔÏóµÄÐÂÊÖͨ³£Ï°¹ßʹÓü¸¸öԭʼÀàÐ͵ÄÊý¾ÝÀ´±íʾһ¸ö¸ÅÄƩÈç¶ÔÓÚ·¶Î§£¬ËûÃÇ»áʹÓÃÁ½¸öÊý×Ö¡£¶ÔÓÚMoney£¬ËûÃÇ»áÓÃÒ»¸ö¸¡µãÊýÀ´±íʾ¡£ÒòΪÄãûÓÐʹÓöÔÏóÀ´±í´ïÎÊÌâÖдæÔڵĸÅÄÕâʹµÃ´úÂë±äµÄÄÑÒÔÀí½â£¬½â¾öÎÊÌâµÄÄѶȴó´óÔö¼Ó¡£ºÃµÄϰ¹ßÊÇÀ©³äÓïÑÔËùÄÜÌṩԭʼÀàÐÍ£¬ÓÃС¶ÔÏóÀ´±íʾ·¶Î§¡¢½ð¶î¡¢×ª»¯ÂÊ¡¢ÓÊÕþ±àÂëµÈµÈ¡£
 
9.Switch Statement
 
»ùÓÚ³£Á¿µÄ¿ª¹ØÓï¾äÊÇOO µÄ´óµÐ£¬ÄãÓ¦µ±°ÑËû±äΪ×ÓÀà¡¢state»òstrategy.
 
10. Parallel Inheritance Hierarchies
 
²¢Ðеļ̳вã´ÎÊÇshotgun surgeryµÄÌØÊâÇé¿ö¡£ÒòΪµ±Äã¸Ä±äÒ»¸ö²ã´ÎÖеÄijһ¸öÀàʱ£¬Äã±ØÐëͬʱ¸Ä±äÁíÍâÒ»¸ö²ã´ÎµÄ²¢ÐÐ×ÓÀà¡£
11. Lazy Class
 
Ò»¸ö¸É»î²»¶àµÄÀà¡£ÀàµÄά»¤ÐèÒª¶îÍâµÄ¿ªÏú


Ïà¹ØÎĵµ£º

BARTѧϰ¹ý³ÌÖеÄJavaѧϰ

1. ObjectInputStream Óë ObjectOutputStreamµÄ¶Áд¶ÔÏó¿ÉÒÔÒÔ¶ÔÓ¦µÄ˳Ðò½øÐжà¸ö¶ÔÏóµÄ¶Áд¡£
2. Break Loop label¡£ ÔÚÑ­»·Óï¾äǰ¼ÓÉÏÒ»¸ölabel£¬Èçlabel1: È»ºóÔÚÑ­»·ÌåµÄÓï¾äÖмÓÈëbreak label1£¬¼´¿ÉÌø³ö¸ÃÑ­»·£¬ÎÞÂÛÆäÊÇÄÚ²ãÑ­»·
»¹ÊÇÍâ²ãÑ­»·¡£ ......

±È½Ï Java Êý¾Ý¶ÔÏóºÍ EJB ¼¼Êõ

 JDO ¸ÅÊö
¡¡¡¡³¤¾ÃÒÔÀ´£¬Java Ó¦ÓóÌÐòºÍ³Ö¾ÃÊý¾Ý¹ÜÀíÖ®¼äµÄ¹ØÏµÒ»Ö±ÊDz»ÈÝÒ×´¦ÀíµÄ¡£Ðí¶à³Ö¾ÃÐÔ»úÖÆÒÔ¹ØÏµµÄ·½·¨¶ø²»ÊÇÃæÏò¶ÔÏó·½·¨´æ´¢Êý¾Ý¡£¼´£¬Êý¾Ý´æ´¢ÔÚÓɰüº¬×ֶεļǼ×é³ÉµÄ±íÖУ¬¶ø²»ÊǴ洢Ϊ×Ô°üº¬¶ÔÏó(ÕâЩ¶ÔÏóÓµÓÐÄÚ²¿Êý¾ÝºÍ¶ÔÆäËü¶ÔÏóµÄÒýÓ㬶øÆäËü¶ÔÏóÒ²ÓµÓÐÄÚ²¿Êý¾ÝºÍÒýÓÃ)¡£½«ÃæÏò¶ÔÏóµÄ±íʾת»»³ ......

ÈçºÎ·âËøÄúµÄ£¨»ò´ò¿ª±ðÈ˵ģ© Java ´úÂë

ÄÚÈÝ£º
¡¡¡¡Ê²Ã´ÊÇ·´±àÒ룿
¡¡¡¡·´»ã±àÒ»¸öÀàÎļþ
¡¡¡¡Ê¹Ó÷´±àÒëÆ÷
¡¡¡¡·´±àÒëºÍ¶Ô°²È«µÄÍþв
¡¡¡¡Õë·æÏà¶ÔµÄ´úÂëÄ£ºý´¦Àí
¡¡¡¡ÕâÒ»ÁìÓòµÄгÉÔ±
¡¡¡¡×ܽá
¡¡¡¡²Î¿¼×ÊÁÏ
¡¡¡¡¹ØÓÚ×÷Õß
¡¡¡¡ÆÀ¼Û±¾ÎÄ
¡¡¡¡Ïà¹ØÄÚÈÝ£º
¡¡¡¡ÈÃÄúµÄÈí¼þÔËÐУºÄ£ºý°²È«ÐÔ
¡¡¡¡Java ºÍ·Ö²¼Ê½Ä¿±êϵͳÉϵݲȫÐÔÑо¿
¡ ......

ÔÚJavaÖе÷ÓÃC++

ÔÚjavaÖе÷ÓÃ×Ô¼ºµÄc++´úÂëÊÇÒ»¼þ¼òµ¥µÄÊÂÇ飬ÒÔÏÂÀàΪÀý£º
class Prompt {
  private native String getLine(String prompt);
  public static void main(String args[]) {
    Prompt p = new Prompt();
    String input = p.getLine("Type a line: ");
  &nbs ......

wikiϵͳ£¨JAVA£© ¹Û²ì


×î½üÏë¶ÔÓÚwikiϵͳµÄÔ´´úÂëÑо¿ÏÂ
 
jspwikiÊÇÒ»¸ö²»´íµÄwikiÒýÇæ£¬´¿jsp/servletдµÄ¡£JSPWiki²»Ê¹ÓÃÏֳɵÄÊý¾Ý¿â¹ÜÀíÈí¼þ£¬ËùÓеÄÎļþÒÔÎı¾ÎļþµÄÐÎʽ´æ·Å¡£ËüÀûÓÃÀàËÆCVSµÄ»úÖÆ±£Ö¤ÁËÎļþ°æ±¾µÄÍêÕûÐÔ¡£Ö§³ÖÖÐÎÄ£¬Ö§³Ö°æ±¾±È½Ï¡¢È¨ÏÞ¹ÜÀíµÈ¹¦ÄÜ£¡
ÏîÄ¿Ö÷Ò³£º http://www.jspwiki.org/
ÎĵµµØÖ·£º  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ