作者Ekmund (您好,我是神經病。)
看板Soft_Job
標題Re: [閒聊] 各種神人的code
時間Sat Sep 13 03:07:11 2014
小弟也來分享一個好了, 現在是寫MFC.
前陣子剛接了一位離職前輩的code, 他人很好, 可是每次看他的code都很崩潰...
因為大概都像這樣:
int Int_DBI_gcNumber_Part1_temp_temp;
int Int_DBI_gcNumber_Part1_temp_AK1 ;
int Int_DBI_gcNumber_Part1_temp_232 ;
CString CString_DBI_MJ456_Serial_Number1;
CString CString_DBI_MJ456_Serial_Number1_temp;
CString CString_DBI_MJ456_Serial_Number1_Remove_Part;
// ...
...下略10~20行, 大概都是這種宣告.
然後用起來時↓
Int_First_DBI_gcNumber_Part1_temp = Int_First_DBI_gcNumber
+ Int_First_DBI_gcNumber_Part1_HighPart;
Int_First_DBI_gcNumber_Part1_temp_temp = Int_First_DBI_gcNumber_temp
+ Int_DBI_gcNumber_Part1_temp_AK1;
if(StPlatformFirmwareUPG->MBS1.bCheckForXXXFlag)
{
m_stGGC.ch = m_Overall_Test_Functions_NW_Counter++;
ResetEvent(EventSpecialTesterLock);
(Int_First_DBI_gcNumber_Part1_temp_temp &= 0x002F1C) ?
(ConnectToServer(m_stGGC) : connect(m_stGGC));
WaitForSigleObject(EventSpecialTesterLock, 3000, NULL);
........
//一堆看起來很像的參數做很多事 其中有部分沒作用
........
}
else
{
m_stGGC.ch = m_Overall_Test_Functions_NW_Counter--;
ResetEvent(EventSpecialTesterLock);
(Int_First_DBI_gcNumber_Part1_temp_temp &= 0x002F1C) ?
(ConnectToServer(m_stGGC) : connect(m_stGGC));
WaitForSigleObject(EventSpecialTesterLock, 3000, NULL);
........
//一堆看起來很像的參數做很多事 其中有部分沒作用
........
}
諸如此類
上面為了PTT閱讀方便, 所以一行太長的我在這邊換行 (原code沒有)
所以偶爾會出現三四個變數就讓往右的拉bar跑出來, 還要拉兩三個頁面的情況.
另外如果寫在if裡的不是bool, 那就會有 if, else if, else if, else if...
大概8個吧, 運氣好的話.
然後看到的變數如果差個temp啦、part啦、什麼阿哩阿喳的
那它們的差別大概是:
1. 全域變數 (偶爾前面會加 m_ 記得的話)
2. 宣告在這function裡的變數
3. 宣告在某個大括弧的暫存空間
4. 傳進這個function裡的13個變數之一
5. 宣告完了忘了用, 所以再宣告一個名子看起來很像的
喔, 還有那個Int_XXX什麼開頭的, 可能是個char[]
但是全都長的一樣, 只差在某個可能在頭, 可能在中央, 可能在尾的關鍵字
就這麼寫了二三十頁...
寫在某個timer, 或文字輸入方塊之類的OnChange事件裡...
結果就是, 使用時有一定機率crash......
...||orz
另外他還有個好習慣: 會把new的陣列集中在function尾端delete[]
所以理所當然的, 當然會遺落一些...或一半
......然後寫在return之後.
..﹨(╯▽╰)∕
他真的是個好人, 但他讓我好難過...
--
→ kdashli:這只是暗戀 還稱不上變態03/03 23:18
推 shawty: 要說變態的話就看看三樓做了什麼03/03 23:18
推 alone10350:你有邊看臉書邊脫褲子嗎03/03 23:19
→ alone10350:幹03/03 23:19
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.6.114
※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1410548837.A.0A9.html
推 sing10407: XDD 塊陶啊 09/13 03:49
→ viper9709: 寫在return之後XD... 09/13 11:00
→ UniFish: ...... 09/13 14:21
推 haloarch: 你現在知道了微軟的錢為什麼這麼龐大 前輩學得透徹 記憶 09/13 15:27
→ haloarch: 體先佔先贏 用到就用 沒用到的忘記解除也罷了 能用就好 09/13 15:30
→ haloarch: 最不喜歡不寫說明的程式人 誰認真寫過 罕見的啦 09/13 15:35
→ Ekmund: 但他不是用到crash 就是寫了十幾頁但邏輯判斷錯誤啊...orz 09/13 17:48
推 silveriii: 感覺得出誠意XDD 09/14 11:25