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

javaÃüÃû¹æ·¶_±à³Ì¹ßÀýºÍ´úÂë·¶Àý

1.       ±à³Ì¹ßÀý(Programming Practices)
9.1  Ìṩ¶ÔʵÀýÒÔ¼°Àà±äÁ¿µÄ·ÃÎÊ¿ØÖÆ(Providing Access to Instance and Class Variables)
ÈôûÓÐ×ã¹»ÀíÓÉ£¬²»Òª°ÑʵÀý»òÀà±äÁ¿ÉùÃ÷Ϊ¹«ÓС£Í¨³££¬ÊµÀý±äÁ¿ÎÞÐèÏÔʽµÄÉèÖÃ(set)ºÍ»ñÈ¡(gotten)£¬Í¨³£Õâ×÷Ϊ·½·¨µ÷ÓõıßԵЧӦ (side effect)¶ø²úÉú¡£
Ò»¸ö¾ßÓй«ÓÐʵÀý±äÁ¿µÄÇ¡µ±Àý×Ó£¬ÊÇÀà½ö×÷ΪÊý¾Ý½á¹¹£¬Ã»ÓÐÐÐΪ¡£Ò༴£¬ÈôÄãҪʹÓÃÒ»¸ö½á¹¹(struct)¶ø·ÇÒ»¸öÀà(Èç¹ûjavaÖ§³Ö½á¹¹µÄ»°)£¬ÄÇô°ÑÀàµÄʵÀý±äÁ¿ÉùÃ÷Ϊ¹«ÓÐÊǺÏÊʵġ£
9.2  ÒýÓÃÀà±äÁ¿ºÍÀà·½·¨(Referring to Class Variables and Methods)
±ÜÃâÓÃÒ»¸ö¶ÔÏó·ÃÎÊÒ»¸öÀàµÄ¾²Ì¬±äÁ¿ºÍ·½·¨¡£Ó¦¸ÃÓÃÀàÃûÌæ´ú¡£ÀýÈ磺
classMethod(); //OK
AClass.classMethod(); //OK
anObject.classMethod(); //AVOID!
9.3  ³£Á¿(Constants)
λÓÚforÑ­»·ÖÐ×÷Ϊ¼ÆÊýÆ÷ÖµµÄÊý×Ö³£Á¿£¬³ýÁË-1,0ºÍ1Ö®Í⣬²»Ó¦±»Ö±½ÓдÈë´úÂë¡£
9.4  ±äÁ¿¸³Öµ(Variable Assignments)
±ÜÃâÔÚÒ»¸öÓï¾äÖиø¶à¸ö±äÁ¿¸³ÏàͬµÄÖµ¡£ËüºÜÄѶÁ¶®¡£ÀýÈ磺
fooBar.fChar = barFoo.lchar = 'c'; // AVOID!
²»Òª½«¸³ÖµÔËËã·ûÓÃÔÚÈÝÒ×ÓëÏàµÈ¹ØÏµÔËËã·û»ìÏýµÄµØ·½¡£ÀýÈ磺
if (c++ = d++) { // AVOID! (Java disallows)
...
}
Ó¦¸Ãд³É
if ((c++ = d++) != 0) {
...
}
²»ÒªÊ¹ÓÃÄÚǶ(embedded)¸³ÖµÔËËã·ûÊÔͼÌá¸ßÔËÐÐʱµÄЧÂÊ£¬ÕâÊDZàÒëÆ÷µÄ¹¤×÷¡£ÀýÈ磺
d = (a = b + c) + r; // AVOID!
Ó¦¸Ãд³É
a = b + c;
d = a + r;
9.5  ÆäËü¹ßÀý(Miscellaneous Practices)
9.5.1        Ô²À¨ºÅ(Parentheses)
Ò»°ã¶øÑÔ£¬ÔÚº¬ÓжàÖÖÔËËã·ûµÄ±í´ïʽÖÐʹÓÃÔ²À¨ºÅÀ´±ÜÃâÔËËã·ûÓÅÏȼ¶ÎÊÌ⣬ÊǸöºÃ·½·¨¡£¼´Ê¹ÔËËã·ûµÄÓÅÏȼ¶¶ÔÄã¶øÑÔ¿ÉÄܺÜÇå³þ£¬µ«¶ÔÆäËûÈËδ±ØÈç´Ë¡£Äã²»ÄܼÙÉè±ðµÄ³ÌÐòÔ±ºÍÄãÒ»ÑùÇå³þÔËËã·ûµÄÓÅÏȼ¶¡£
if (a == b && c == d) // AVOID!
if ((a == b) && (c == d)) // RIGHT
9.5.2        ·µ»ØÖµ(Returning Values)
Éè·¨ÈÃÄãµÄ³ÌÐò½á¹¹·ûºÏÄ¿µÄ¡£ÀýÈ磺
if (booleanExpression) {
return true;
} else {
return false;
}
Ó¦¸Ã´úÖ®ÒÔÈçÏ·½·¨£º
return booleanExpression;
ÀàËÆµØ£º
if (condition) {
return x;
}
return y;
Ó¦¸Ãд×ö£º
return (condition ? x : y);
9.5.3   &


Ïà¹ØÎĵµ£º

java¹ØÓÚ23ÖÖÉè¼ÆÄ£Ê½Ö®ÅÝMM°æ£¨ÍƼö£©[ת]


´´½¨ÐÍģʽ
1¡¢FACTORY——×·MMÉÙ²»ÁËÇë³Ô·¹ÁË£¬Âóµ±À͵靈áºÍ¿ÏµÂ»ùµÄ¼¦³á¶¼ÊÇMM°®³ÔµÄ¶«Î÷£¬ËäÈ»¿ÚζÓÐËù²»Í¬£¬µ«²»¹ÜÄã´øMMÈ¥Âóµ±ÀÍ»ò¿ÏµÂ»ù£¬Ö»¹ÜÏò·þÎñԱ˵“À´Ëĸö¼¦³á”¾ÍÐÐÁË¡£Âóµ±ÀͺͿϵ»ù¾ÍÊÇÉú²ú¼¦³áµÄFactory
¹¤³§Ä£Ê½£º¿Í»§ÀàºÍ¹¤³§Àà·Ö¿ª¡£Ïû·ÑÕßÈκÎʱºòÐèҪijÖÖ²úÆ·£¬Ö»ÐèÏò¹ ......

Java ¶àÏ̱߳à³ÌÖ®Æß£ºËÀËø£¨¸½Ô´´úÂ룩

Java ¶àÏ̱߳à³ÌÖ®Æß£ºËÀËø£¨¸½Ô´´úÂ룩
Ô´´úÂëÏÂÔØ
        ¶àÏ̱߳à³ÌÖУ¬Ïß³ÌËÀËøÒ²ÊÇÒ»¸ö±È½ÏÓÐȤµÄÎÊÌ⡣Ȼ¶øËÀËø·¢ÉúµÄ¿ÉÄÜÐÔºÜС£¬ÕýÒòÈç´Ë£¬´ó¼Ò¿ÉÄܶԴ˲»ÊǺÜÊìϤ¡£µ«ÊÇËÀËø²¢²»ÊDz»ÖØÒª£¬ÒòΪËüȷȷʵʵ´æÔÚ×Å£¬ËæÊ±»á³öÏÖÔÚÎÒÃǵijÌÐòÖ®ÖС£ºÜ¶àÅóÓÑÃæÊÔµÄʱºò¶¼Óöµ½¹ýÕâ ......

java»ù±¾Êý¾ÝÀàÐÍת»»

»ù±¾Êý¾ÝÀàÐÍ
ÔÚJAVAÖÐÒ»¹²ÓаËÖÖ»ù±¾Êý¾ÝÀàÐÍ£¬ËûÃÇ·Ö±ðÊÇ
byte¡¢short¡¢int¡¢long¡¢float¡¢double¡¢char¡¢boolean
ÕûÐÍ
ÆäÖÐbyte¡¢short¡¢int¡¢long¶¼ÊDZíʾÕûÊýµÄ£¬Ö»²»¹ýËûÃǵÄȡֵ·¶Î§²»Ò»Ñù
byteµÄȡֵ·¶Î§Îª-128~127£¬Õ¼ÓÃ1¸ö×Ö½Ú£¨-2µÄ7´Î·½µ½2µÄ7´Î·½-1£©£º¾ßÌåÇë¿´²¹Âë
shortµÄȡֵ·¶Î§Îª-32768~32767£¬Õ¼Ó ......

java±àÂë¹æ·¶_Ëõ½øºÍ×¢ÊÍ

1.       Ëõ½øÅŰæ(Indentation)
4¸ö¿Õ¸ñ³£±»×÷ΪËõ½øÅŰæµÄÒ»¸öµ¥Î»¡£Ëõ½øµÄÈ·ÇнâÊͲ¢Î´Ïêϸָ¶¨(¿Õ¸ñ vs. ÖÆ±í·û)¡£Ò»¸öÖÆ±í·ûµÈÓÚn¸ö¿Õ¸ñ(ÊÓ¾ßÌåµÄ±à¼­Æ÷¶ø¶¨£¬EclipseĬÈÏÒ»¸öÖÆ±í·ûΪ4¸ö×Ö·û)¡£
3.1    Ð㤶È(Line Length)
¾¡Á¿±ÜÃâÒ»Ðеij¤¶È³¬¹ý80¸ö×Ö·û£¬ÒòΪºÜ ......

java±àÂë¹æ·¶_ÉùÃ÷ºÍÓï¾ä

1.       ÉùÃ÷(Declarations)
5.1  ÿÐÐÉùÃ÷±äÁ¿µÄÊýÁ¿(Number Per Line)
ÍÆ¼öÒ»ÐÐÒ»¸öÉùÃ÷£¬ÒòΪÕâÑùÒÔÀûÓÚдעÊÍ¡£Ò༴£¬
int level; // indentation level
int size; // size of table
ÒªÓÅÓÚ£¬
int level, size;
²»Òª½«²»Í¬ÀàÐͱäÁ¿µÄÉùÃ÷·ÅÔÚͬһÐУ¬ÀýÈ磺
int foo, foo ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ