看板 C_and_CPP 關於我們 聯絡資訊
問題(Question): 請問變數前加 prefix c_ 有什麼好處?像是把 x, y 改成 c_x, c_y 這樣 約耳談軟體那篇匈牙利命名法我有看過了 但是「讓錯的程式看得出錯」這點對我來說沒啥意義,反正寫錯根本執行不了 那麼還有什麼支持這樣做的理由呢?煩請提點,感謝 -- 放著養蚊子的部落格 http://resolaqq.blogspot.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.6.135 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1441973354.A.5E5.html
azureblaze: 執行不了就雙手一攤作業不交產品不出嗎 09/11 20:44
LPH66: 約耳的重點在於執行不了之後除錯的過程, 你會比較容易找到 09/11 20:52
LPH66: 可能出錯的地方, 就像麵包師傅知道什麼樣子不對勁 09/11 20:53
LPH66: 不過看起來你的 c_ 不太像是他所想講的那種 prefix 09/11 20:54
LPH66: 你這個 c_ 是在哪裡看到的? 09/11 20:54
bibo9901: 搞不好那跟本不是prefix 而是某個單詞的縮寫 09/11 20:57
bibo9901: 寫得不清不楚 比較像抱怨碎念而非發問 09/11 20:59
yvb: "反正寫錯根本執行不了" 這句就有待商確. 你真的看懂那篇? 09/11 21:01
看來誤會誤很大 執行不了的意思是,程式會自動在寫錯的那行停下來 既然都知道是哪行錯了,修正就很簡單,所以說「讓錯的程式看得出錯」對我沒意義 那個 c_ 的意思其實是屬於 C 的 Struct,但是知道這個似乎沒有任何用處 如同前述,用錯它自己會停下來,所以知不知道都無所謂,反正是修同個地方 這不是抱怨碎念,因為那個 c_ 是程式自動加上去的東西,要讓程式別加 c_ 很簡單 我不想要加 c_ 的原因是,這會妨礙我複製貼上別人的程式碼 要手動在每個地方加 c_,比想像中的麻煩很多,而且很難看,像底下這樣 if (e.c_key.c_keysym.c_sym == SDLK_UP) 因為程式預設就是會自動加 c_,我在想可能有什麼特殊的原因 但實在想不出來,所以才來這邊發問 如果沒有實在的理由,就要準備把 c_ 全砍了,不知有沒有人能理解為何要預設這樣做?
stupid0319: 等你寫到幾千幾萬行的程式碼就知道命名的重要了 09/11 21:35
EdisonX: 你可能沒看過s1,s2,...,s48的變數命名,不知道那有多痛苦 09/11 21:54
bibo9901: "程式會自動在寫錯的那行停下來" <- 你寫的真的是C/C++? 09/11 21:56
應該說會在轉譯的時候停下來啦,表達不清請多包涵 程式會先被轉譯一次變成純 C 的 source code,然後才餵給 compiler ※ 編輯: ResolaQQ (1.165.40.147), 09/11/2015 22:07:23
hakman: 聽起來你是在preprocessor 那邊遇到加prefix 的程式碼 09/12 04:12
hakman: 曾經看過有人的程式還在外面另外包了macro 的shell 09/12 04:12
hakman: 至於好處,macro 寫到複雜處也是需要好讀的名子 Orz 09/12 04:13
shadow0326: 成員變數用一種prefix 區域變數用一種prefix 全域變數 09/12 19:38
shadow0326: 用一種prefix 可以約略避免名稱遮蔽問題 09/12 19:39
Ebergies: 約爾說的錯是 runtime error... 09/13 00:38
ronin728: 寫錯的地方停下來是Runtime error,是記憶體分配或是 09/13 16:55
ronin728: 沒Catch到throw出來的exception 09/13 16:57
ronin728: 跟 prefix 無關 09/13 16:57
ResolaQQ: 好像沒有很充足的理由,我先把c_全砍掉好了,謝謝各位 09/14 01:27
xvid: 看到匈牙利我比較會想哭 09/14 02:07
Killercat: 匈牙利是以前那種ide功能很差的時代的產物 09/14 13:24
Killercat: 現在游標上去點一下都知道type了 實在沒必要在匈牙利 09/14 13:24
kerwinhui: 原PO是在用RPython,加上c_是為了區分python/C的變數 09/14 19:07
kerwinhui: 不過PyPy已經不再建議用RPython做extension了 09/14 19:12
suhorng: (!!) RPython 怎麼了? 09/16 19:28