Re: [閒聊] 大家工作上看過哪些誇張的 CODE ?

看板Soft_Job作者 (coder)時間14年前 (2010/05/15 18:04), 編輯推噓4(407)
留言11則, 7人參與, 最新討論串4/31 (看更多)
※ 引述《bobhsiao (㊣小臃腫㊣)》之銘言: : 最近看到同事寫一個 : char* GetXXXName(...) : { : char str[256] = {'\0'}; : ..... : return str; : } : 回傳區域變數指標...囧rz : 神奇的是跑起來都沒錯, 大概也不會改了吧 沒出錯有可能那個值不重要且丟出去沒馬上被寫到。 下面這個是更危險的 char* fun(char* c) { ... return c; ... return "ERROR"; } 要這樣用也可以啦,只是....丟出去有寫到就爆了。 例2 char *psr = new char(SENDERLEN*4); psr="\0"; 嗯後面一定會leak跟用到未分配的memory,一次爆兩種。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.252.169

05/15 18:25, , 1F
如果fun對輸入data與size做了range check這會有問題嗎?
05/15 18:25, 1F

05/15 18:36, , 2F
有仔細做check也蠻累的,但我指的是return "ERROR"部份
05/15 18:36, 2F

05/15 20:07, , 3F
我開始不相信年資了..寫越久不一定越厲害
05/15 20:07, 3F

05/16 08:01, , 4F
傳回pointer,卻對這個位址做超範圍的利用,是用的人的問題
05/16 08:01, 4F

05/16 08:04, , 5F
所以是說該禁用pointer嗎?像使用array index也免不了啊?!
05/16 08:04, 5F

05/16 08:58, , 6F
反正傳回null也是要檢查null,傳回"error"難道不能檢查"error
05/16 08:58, 6F

05/16 09:38, , 7F
C++ 0x好像有改善第一個的問題
05/16 09:38, 7F

05/16 16:05, , 8F
這應是OO帶來的問題,老語言靜態配置,對pointer使用甚多!
05/16 16:05, 8F

05/16 16:08, , 9F
所以資深的反而會溺於老環境老習慣,不適應動態Object考量
05/16 16:08, 9F

05/17 09:14, , 10F
恩 我也不相信年資 推文一堆錯誤觀念 XD
05/17 09:14, 10F

05/23 12:30, , 11F
- -
05/23 12:30, 11F
文章代碼(AID): #1Bxd6eGK (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 31 篇):
文章代碼(AID): #1Bxd6eGK (Soft_Job)