作者beagle (紅茶犬)
站內b92902xxx
標題匈牙利命名法 (Re: Coding Style)
時間Fri Jul 22 14:53:51 2005
※ 引述《beagle1 (滿城飛絮風吹雪)》之銘言:
: ※ 引述《littleshan (我要加入劍道社!)》之銘言:
: : 這是匈牙利命名法
: 不曉得發明命名法的這位匈牙利籍微軟工程師叫什麼名字?
: : C裡面type少 用struct也不至於多到自己搞不清
: : 但C++開始濫用物件以後 那個變數是那個class已經越來越難分清楚了 更何況還有繼承
: : 所以會有人提倡匈牙利式命名
: : 至於他好或不好是見人見智
: : 我的看法是 如果你分不清楚程式中那個變數是屬於那個class
: : 那顯然程式還有改進的空間
: : 當然如果覺得沒甚麼能改進了 斟酌使用也無所謂
: function 夠短 (約 150 行以下) 的話, 其實前後參照一下就知道 data type 了...
: 但是我很好奇, class name 不是很長一串嗎?
: 改成兩三個字母的縮寫又不容易看懂...
: 甚至一邊看 code 一樣要一邊查這個縮寫是什麼 type
: 在這種狀況下, 這樣命名到底有些什麼好處?
: 我覺得總會有好處的, 否則早就被拋棄了, 只是他的好處我看不出或用不到罷了...
這裡有一篇文章是 Joel Spolsky 寫的 "讓錯的程式看得出錯", 是中文...
http://chinesetrad.joelonsoftware.com/Articles/Wrong.html
裡面詳細說了匈牙利命名法的本意, 以及後來被認為只是標示 "data type" 的誤會,
導致最後 .Net 推出時產生大反動, 微軟也開始勸大家不要用匈牙利命名法...
我看完之後覺得原始匈牙利命名法在某些狀況下是很好的避免錯誤的 style ...
不過我應該還是不會去用它...
這篇文章當然有英文版:
http://www.joelonsoftware.com/articles/Wrong.html
--
吃甜食有何不可? 有在用腦就不會變胖了喔。
-- L
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.254.153
1F:推 yabt:推 59.121.213.119 07/24