Re: [請益] 要如何說服同事停止命名類似iID的變數
→ astt88:另外還有個好處,當在寫沒有明確宣告型態的語言時 05/23 17:47
→ astt88:像JavaScript在宣告時用var 05/23 18:00
→ astt88:匈牙利命名法可以提供一點關於它儲存內容的資訊 05/23 18:01
→ astt88:當然了,匈牙利命名法沒有強制性 05/23 18:02
→ astt88:若程式寫成var iID; iID="N201305230000000001"; 05/23 18:02
→ astt88:反而會造成錯誤的認知 05/23 18:03
→ astt88:所以習慣匈牙利命名法後 05/23 18:03
→ astt88:我反而希望IDE能有可以檢查上述問題的功能 05/23 18:04
其實我用了很久的匈牙利命名法,漸漸的也發現有些不太對勁
因為很久以前的程式語言的型別比較少
後來程式語言物件導向化後,連一些基礎型別也都物件化了
以 C# 來說,bool 是 System.Boolean 的別名
就微軟體系的程式語言工具來說,控制項、類別變得越來越多了
連帶著怎麼決定前面約定成俗的 prefix 變成有些困難
到後來可能需要文件列出來全部的控制項與類別的 prefix 是什麼
倒不如直接用 IDE 來看它的所屬類別是什麼還比較快
後來微軟就建議我們不要再使用匈牙利命名法了
其實後來我有在思考要不要改成基礎型別採用匈牙利命名法
其他類別改成後綴法
至於用不用,怎麼用,都需要大家的認同
因為這些習俗都是為了以後好維護,只要團隊裡達成共識
沒有什麼對不對的問題,因為每種 Code Style 都有各有優缺點
以上是個人的一點猜測與淺見,請多指教,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.2.198
討論串 (同標題文章)
完整討論串 (本文為第 4 之 19 篇):