jeffhung thinks
10 years ago
Protocol 規定死的名稱,好比 http header 的 key,有需要也寫成 constant,使之成為一個 symbol 嗎?如 #define HTTP_HEADER_CONTENT_TYPE "Content-Type"
latest #10
zmx says
10 years ago
防 Typo ?
miaoski
10 years ago
好噁心
lunastorm
10 years ago
防手殘++
立即下載
miaoski
10 years ago
應該用一個全域常數 const char HTTP_CONTENT_TYPE[] = "Content-Type"
pingooo
10 years ago
防滑手套該戴還是要戴。const char[] ++
jeffhung says
10 years ago
#define 不是重點啦,選他只是因為寫起來最短。 # 我其實比較習慣 const char* HTTP_CONTENT_TYPE = "Content-Type"
jeffhung says
10 years ago
# 這裡發現 HTTP 不是好例子,因為套疊在 HTTP 的 protocol 太多了,事情過於複雜難以解釋。後面改用 SMTP 的 HELO 來說明好了。
jeffhung says
10 years ago
我在想的是 over-engineering 這件事。有經驗的人都可以看出防手殘這個好處,但是我們會在程式裡面寫幾次 "HELO" 呢?理論上架構好的程式,應該只會在 protocol handling 時處理到 "HELO",剩下就會變成如 a_connection.send_mail(a_mail) 這樣的 library,會需要直接用到 raw literal 的地方沒幾處。
pingooo
10 years ago
測試的程式也可以用到 const
jeffhung says
10 years ago
pingooo: Good point!! 若真的會用到很多次,寫成 const 確實有好處。
back to top