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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
C++´úÂëÆÀÉó(Code Review)µÈ¼¶±ê×¼
 
×÷ÕߣºjoinclearµÄ²©¿Í À´Ô´£º²©¿ÍÔ° ·¢²¼ÓÚ 2015-04-17
  3165  次浏览      28
 

0 ǰÑÔ

¼Ç¼µÄÎÊÌâ¶¼ÊÇÀ´Ô´ÓÚÆ½³£C++±àÂë¹ý³ÌÖ®Öг£¼û»ò»ù´¡µÄȱÏÝ¡£

Ö»ÊÇÓɸöÈËÕûÀí¶ø³ÉµÄ±ê×¼£¬ÓÃÓÚÆ½³£´úÂë±àдÖеġ°É¨Àס±£¬Ã»ÓÐȨÍþÐÔ£¬ÏÖÓ¦ÓÃÓÚÎҵĿª·¢ÍŶӡ£

ºóÐøµÄ²¹³äÍêÉÆ»¹ÊÇÒ»¸öÂþ³¤µÄ¹ý³Ì¡£

³ÌÐòÔ±ÒªÉÆÓڼǼºÍ×ܽᣬÕâÑù²ÅÄܳɳ¤ºÍÌáÉý¡£

1 ¼ò½é

´úÂëÆÀÉó¶¨Ò壺ͨ¹ýÔĶÁ´úÂë¼ì²é´úÂëȱÏݵÄÖÊÁ¿±£Ö¤¹ý³Ì¡£

´úÂëÆÀÉóÄÚÈÝ£º±à³Ì¹æ·¶£¬Öع¹·½·¨£¬¼Ü¹¹Éè¼Æ£¬ÐÔÄܰ²È«£¬ÈÕÖ¾£¬¿É¶ÁÐÔ£¬À©Õ¹ÐÔ¡£¡£¡£

´úÂëÆÀÉóºÃ´¦£º¼°Ôç·¢ÏÖ±àÂëȱÏÝ£¬·ÖÎö±àÂëȱÏÝ£¬ÌáÉý´úÂëÖÊÁ¿£¬Ìá¸ß±àÂëˮƽ£¬´Ù½øÍŶӺÏ×÷¡£¡£¡£

´úÂëÆÀÉóÐÎʽ£º´úÂë×ß¶Á£¬´úÂë½²½â£¬½á¶Ô±à³Ì£¬½»²æÆÀÉó£¬×¨¼ÒÆÀÉ󣬯ÀÉó»áÒ飨ֻ·¢ÏÖÎÊÌ⣬²»ÔÚ»áÒéÉÏÌÖÂۺͽâ¾öÎÊÌ⣩¡£¡£¡£

2 µÈ¼¶±ê×¼

Ò»°ã·ÖÈýÖֵȼ¶£º

ÑÏÖØ£º»áÒýÆðϵͳËÀ»ú£¬³ÌÐò±ÀÀ££¬¹¦Äܲ»¿ÉÓ㬵¼ÖÂÑÏÖØºó¹ûµÄÎÊÌâ¡£

Ò»°ã£º»áÒýÆð¹¦Äܲ¿·Ö²»¿ÉÓã¬Éè¼ÆÈ±ÏÝ£¬ÔËÐÐЧÂʵÄÎÊÌâ¡£

Ìáʾ£º»áÒýÆð´úÂë¿É¶ÁÐԲΥ·´±à³Ì¹æ·¶µÄÎÊÌâ¡£

3 ÑÏÖØµÈ¼¶¼°ÎÊÌâʾÀý

1£©
ÎÊÌâÀàÐÍ£º²Ù×÷¿ÕÖ¸Õë
ÎÊÌâʾÀý£º
CTestClass *p = NULL;
p->GetName();//²Ù×÷¿ÕÖ¸Õë

2£©
ÎÊÌâÀàÐÍ£º²Ù×÷·Ç·¨Ö¸Õë
ÎÊÌâʾÀý£º
char *p = new char[100];
delete p;
memcpy(p,"ÄãºÃ");//²Ù×÷·Ç·¨Ö¸Õë

3£©
ÎÊÌâÀàÐÍ£ºÖ¸ÕëδÅжÏΪ¿Õ
ÎÊÌâʾÀý£º
if(NULL == P);//ÒªÓÐÖ¸ÕëÅжÏΪ¿Õ

4£©
ÎÊÌâÀàÐÍ£ºÒ°Ö¸Õë
ÎÊÌâʾÀý£º
newºÍdeleteÓ¦³É¶Ô³öÏÖ
mallocºÍfreeÓ¦³É¶Ô³öÏÖ

5£©
ÎÊÌâÀàÐÍ£ºËÀÑ­»·
ÎÊÌâʾÀý£º
while(...)
{
    i++;//i++±£Ö¤²»»áËÀÑ­»·
};

6£©
ÎÊÌâÀàÐÍ£ºÂß¼­´íÎó
ÎÊÌâʾÀý£º
Ö¸´úÂëÂß¼­»ìÂÒ»òÏà¹Ø

7£©
ÎÊÌâÀàÐÍ£º×ÊԴй©
ÎÊÌâʾÀý£º
CDialog::CreateÒªÓÐCWnd::DestroyWindowÀ´ÊÍ·Å
CreateIcon¡¢GetIconÒªÓÐDestroyIconÀ´ÊÍ·Å
CBitmap LoadImageÒªÓÐDeleteObjectÀ´ÊÍ·Å

8£©
ÎÊÌâÀàÐÍ£ºÊý×éÔ½½ç
ÎÊÌâʾÀý£º
char szArray[MAX];
printf("%c",szArray[MAX]);//Êý×éÔ½½ç

9£©
ÎÊÌâÀàÐÍ£ºÑ­»·ÌåÄÚ¸Äдѭ»·±äÁ¿
ÎÊÌâʾÀý£º
for(int i=0;i<MAX;i++)
{
i = 100;//Ñ­»·ÌåÄÚ¸Äдѭ»·±äÁ¿
}
10£© ÎÊÌâÀàÐÍ£ºIO²Ù×÷¡¢Êý¾Ý¿â²Ù×÷×ÊԴδÊÍ·Å ÎÊÌâʾÀý£º ´ò¿ªµÄ²Ù×÷±ØÐëÒª¹Ø±Õ,open()ºÍclose()²Ù×÷Ó¦³É¶Ô³öÏÖ¡£ 11£© ÎÊÌâÀàÐÍ£ºÅжÏÎÞ·ûºÅÊýÊÇ·ñСÓÚ0 ÎÊÌâʾÀý£º UInt iLen = MAX; if(iLen < 0)//ÅжÏÎÞ·ûºÅÊýÊÇ·ñСÓÚ0 { ... } 12£© ÎÊÌâÀàÐÍ£ºÄڴ濽±´ºöÂÔ½áβ±êÖ¾'\0' ÎÊÌâʾÀý£º char *s = "aaaa"; char a[4]; memcpy(a,s,4);//Äڴ濽±´ºöÂÔ½áβ±êÖ¾'\0' 13£© ÎÊÌâÀàÐÍ£ºº¯ÊýÄÚ²¿ÐÞ¸ÄÐβΠÎÊÌâʾÀý£º string GetName(int iID) { iID = 100;//º¯ÊýÄÚ²¿ÐÞ¸ÄÐβΠ... } 14£© ÎÊÌâÀàÐÍ£ºnewÊý×飬deleteÎÞ[] ÎÊÌâʾÀý£º char *a = new char[100]; ... delete a;//newÊý×飬deleteÎÞ[] 15£© ÎÊÌâÀàÐÍ£º¾Ö²¿±äÁ¿ºÍ¾Ö²¿±äÁ¿¡¢º¯Êý²ÎÊý¡¢È«¾Ö±äÁ¿ÖØÃû 16£© ÎÊÌâÀàÐÍ£º¶ÔÏó²»ÄÜÓÃmemset³õʼ»¯ 17£© ÎÊÌâÀàÐÍ£º¶àÏß³Ì×ÊԴδ×ö»¥³â´¦Àí 18£© ÎÊÌâÀàÐÍ£º´úÂëȦ¸´ÔӶȲ»ÄܸßÓÚ14 19£© ÎÊÌâÀàÐÍ£ºº¯Êý´úÂëǶÌ×¼¶Êý²»Äܳ¬¹ý6 20£© ÎÊÌâÀàÐÍ£ºµ÷ÊÔ»òÈÕÖ¾ÐÅÏ¢Öв»ÄÜÓÐÃô¸ÐÐÅÏ¢

4 Ò»°ãµÈ¼¶¼°ÎÊÌâʾÀý

1£©
ÎÊÌâÀàÐÍ£º±äÁ¿Î´³õʼ»¯
ÎÊÌâʾÀý£º
char *a;//±äÁ¿Î´³õʼ»¯
char b[100];
strcpy(b,a);


2£©

ÎÊÌâÀàÐÍ£ºº¯ÊýÈë²Îδ½øÐÐУÑé
ÎÊÌâʾÀý£º
void FunTest(CTestClass *p)
{
    p->Get();//º¯ÊýÈë²Îδ½øÐÐУÑé
}

3£©
ÎÊÌâÀàÐÍ£º²¼¶ûÖµÓë·Ç²¼¶ûÖµ±È½Ï
ÎÊÌâʾÀý£º
int i = 0;
bool flag = true;
if(i == flag)//²¼¶ûÖµÓë·Ç²¼¶ûÖµ±È½Ï
{
    ...
}

4£©
ÎÊÌâÀàÐÍ£º¸¡µãÊýÓë0±È½Ï
ÎÊÌâʾÀý£º
double dwLen = 0.1;
if(0 == dwLen)//¸¡µãÊýÓë0±È½Ï
{
    ...
}

5£©
ÎÊÌâÀàÐÍ£º²»Í¬Êý¾ÝÀàÐÍÇ¿ÖÆ±È½Ï»ò¸³Öµ
ÎÊÌâʾÀý£º
long lMax = 32768;
short iLen = 0;
iLen = lMax;//²»Í¬Êý¾ÝÀàÐÍÇ¿ÖÆ¸³Öµ

6£©
ÎÊÌâÀàÐÍ£º¸´ÔÓ±í´ïʽδ¼ÓÀ¨ºÅ±íʾÓÅÏȼ¶
ÎÊÌâʾÀý£º
if(i==j&&i==k||i==l||j==k)//¸´ÔÓ±í´ïʽδ¼ÓÀ¨ºÅ±íʾÓÅÏȼ¶
{
    ...
}

7£©
ÎÊÌâÀàÐÍ£ºº¯ÊýÎÞ·µ»ØÖµ»ò·µ»ØÖµ²»ÕýÈ·
ÎÊÌâʾÀý£º
bool Fun()
{
    int i = 0;
    ...
    return i;//º¯Êý·µ»ØÖµ²»ÕýÈ·
}

8£©
ÎÊÌâÀàÐÍ£ºÖ¸ÕëÅжÏÓÐÎó
ÎÊÌâʾÀý£º
bool Fun(char *p)
{
    if(p)//Ö¸ÕëÅжÏÓÐÎó
}

9£©
ÎÊÌâÀàÐÍ£º±äÁ¿±È½ÏÓ¦·ÅÔÚ==×ó±ß
ÎÊÌâʾÀý£º
if(p == NULL)//±äÁ¿±È½ÏÓ¦·ÅÔÚ==×ó±ß

10£©
ÎÊÌâÀàÐÍ£ºÖظ´´úÂë
ÎÊÌâʾÀý£º
ÖØ¸´´úÂëÒªÌáÁ¶»ò·â×°£¬Ò»¶¨ÒªÖظ´µÄÓ¦¼Ó×¢ÊÍÆäÖØ¸´ºÏÀíÐÔ

5 ÌáʾµÈ¼¶¼°ÎÊÌâʾÀý

1£©
ÎÊÌâÀàÐÍ£ºÄ§¹íÊý×Ö
ÎÊÌâʾÀý£º
for(int i=0;i<1000;i++)//ħ¹íÊý×Ö
{
...
} 2£© ÎÊÌâÀàÐÍ£º×¢ÊÍ´íÎó ÎÊÌâʾÀý£º ×¢ÊÍÓдí±ð×Ö»òÓïÒâ±í´ï´íÎó 3£© ÎÊÌâÀàÐÍ£º×¢ÊÍÎÞЧ ÎÊÌâʾÀý£º ×¢ÊͱØÐëÒªºÏÀí£¬²»¶àÓ࣬²»·Ï»° 4£© ÎÊÌâÀàÐÍ£ºÎÞ×¢ÊÍ»ò×¢ÊÍÁ¿¹ýµÍ ÎÊÌâʾÀý£º ×¢ÊÍÕý³£Ó¦¸ÃÔÚ30%ÒÔÉÏ 5£© ÎÊÌâÀàÐÍ£ºÅŰæ»òËõ½ø»ìÂÒ ÎÊÌâʾÀý£º ¿ÕÐС¢Ëõ½ø±ØÐë¹æ·¶£¨4¿Õ¸ñ´úÌætab£© 6£© ÎÊÌâÀàÐÍ£ºÈßÓà´úÂë ÎÊÌâʾÀý£º ÎÞÓÃ×¢ÊÍ»òÎÞÓôúÂë 7£© ÎÊÌâÀàÐÍ£ºÎ¬»¤ÐÔÖÊ´úÂëÎÞ˵Ã÷ ÎÊÌâʾÀý£º ά»¤ÐÔÖʵĴúÂëÒªÓÐ×¢ÊÍ 8£© ÎÊÌâÀàÐÍ£ºif¡¢for¡¢while¡¢switchµÈÓï¾äÓ¦¼Ó{} ÎÊÌâʾÀý£º switch(i) case 1: ... //Ó¦¼Ó{} break; case 2: ... break; 9£© ÎÊÌâÀàÐÍ£ºÎļþ×ÜÐÐÊý²»³¬¹ý2000 10£© ÎÊÌâÀàÐÍ£ºº¯Êý×ÜÐÐÊý²»³¬¹ý200 11£© ÎÊÌâÀàÐÍ£ºº¯ÊýÐββ»³¬¹ý5 12£© ÎÊÌâÀàÐÍ£ºÃüÃû²»·ûºÏ±à³Ì¹æ·¶
   
3165 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

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

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹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½ðÈÚÈí¼þ·þÎñÉÌ ¼¼ÊõÎĵµ
Öдïµçͨ Éè¼ÆÄ£Ê½Ô­ÀíÓëʵ¼ù
·¨¹úµçÐÅ ¼¼ÊõÎĵµ±àдÓë¹ÜÀí