Discussion:
匈牙利命名法...
(时间太久无法回复)
台灣人要堅強
2004-04-29 05:43:08 UTC
Permalink
敬告各位初學程式大大
學"會"寫程式 並不是一件難事
但要寫"好"程式就不容易
要多看 多學 多練習

本人是唸電機
實作 應用上 也常常碰到language
學寫程式真的並不難
那只是一個門檻罷了
但寫"好"的程式 才有其價值

初學者首重觀念
也許大大會覺得
隨隨便便一個練習題 沒什麼重要
但一個好的程式設計師
就是要從小程式開始下工夫

本人慶幸大一程設老師教導很多
正確的程式設計觀念
各位初學者 常常把code波出來要大家一起討論或debug
這也很不錯 但程式撰寫的結構是很重要的

有些大大縮排真的很有藝術
似乎不太清楚空格的真諦
變數與函數的命名 也有學問在裡面
最好取有意義一點的名稱
字首可加一個辨識型態的符號 (n=int,d=double,s=string,a=array...)
還有擅用註解

這些小tip 雖然麻煩 但對將來都有好處
自己也是學工程的 程式給"人" 的可閱讀性 是很重要的一環
否則 group work 注定要失敗
free style 的結果 最後恐怕連自己都看不懂

本人也是初到這個版
最近看到大家一直在討論 資工系的學生
有些人可能會覺得 台灣的資訊產業沒啥競爭力
規格都被老外訂走了
其實不管李老師 還是侯老師哪個比較利害
大家都要繼續向前走 不斷地學習 並保有一顆靈活的頭腦
我們就有競爭力


相信台灣人是有創意的 共勉之
--
╭──── Origin:<不良牛牧場> bbs.badcow.com.tw (210.200.247.200)─────╮
│  ↘ Welcome to SimFarm BBS -- From : [140.115.219.16] │
╰◣◣◢ ◢◢《不良牛免費撥接→電話:40586000→帳號:zoo→密碼:zoo》 ◣◣◢ ─╯
㊣包皮過長,台北至高雄
2004-04-29 15:51:56 UTC
Permalink
可是你的文章裡半個字都沒有講到Hungarian Notation啊?

難道說「善用縮排、變數字首用代碼方便辨認」就是Hungarian Notation?
那你不要唬大家了,以為大家沒看過啊。

---

變數字首用不同的英文字母區分資料形態,這是過去式了。
在現在的環境下,這樣做沒什麼好處。
想要玩這個,回去玩Fortran 77就好了。
 
--
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 我們要保證一切的利益都歸於國家與黨。 
_______________________________________

Mk.3(N)  journeyman  - Moderator, Military Board
2-16-2K orig., 9-26-01 dropback 中央大學松濤風情資訊站

--
 ◎ Origin: 中央松濤站□bbs.ee.ncu.edu.tw From: 218-162-239-239.dynamic.hinet
GreatPity
2004-04-30 02:35:41 UTC
Permalink
※ 引述《***@bbs.ee.ncu.edu.tw (㊣包皮過長,台北至高雄)》之銘言:
: 可是你的文章裡半個字都沒有講到Hungarian Notation啊?
: 難道說「善用縮排、變數字首用代碼方便辨認」就是Hungarian Notation?
: 那你不要唬大家了,以為大家沒看過啊。
sorry,我沒有要唬任何人,但我能查到的網站資料
主要就是在講關於命名的部分
: ---
: 變數字首用不同的英文字母區分資料形態,這是過去式了。
: 在現在的環境下,這樣做沒什麼好處。
: 想要玩這個,回去玩Fortran 77就好了。
:  
小弟程度差 只能這樣寫程式
不過變數命名 如果單用 a,b,c ...i,j,k ...x,y,z 真的很"難"看

不知道大大有什麼更好的建議啊

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.219.16
Harold
2004-04-29 20:40:12 UTC
Permalink
其實現在變數字首用代碼並不是那麼必要了
因為現在的 IDE 整合環境都很進步, 滑鼠一指就知道這個變數是什麼型態了
重要的是變數名稱要有意義, 最好使用 Camel casing (or Pascal casing)
例如:
string xmlFileName;
bool canWrite;
int rowCount;
這樣變數的名稱本身有意義, 而且跟型態有關係, 也比較方便閱讀
Post by GreatPity
: 可是你的文章裡半個字都沒有講到Hungarian Notation啊?
: 難道說「善用縮排、變數字首用代碼方便辨認」就是Hungarian Notation?
: 那你不要唬大家了,以為大家沒看過啊。
sorry,我沒有要唬任何人,但我能查到的網站資料
主要就是在講關於命名的部分
: ---
: 變數字首用不同的英文字母區分資料形態,這是過去式了。
: 在現在的環境下,這樣做沒什麼好處。
: 想要玩這個,回去玩Fortran 77就好了。
:  
小弟程度差 只能這樣寫程式
不過變數命名 如果單用 a,b,c ...i,j,k ...x,y,z 真的很"難"看
不知道大大有什麼更好的建議啊
--
☆ [Origin:椰林風情] [From: telnet.hinet.net] [Login: **] [Post: **]
深海
2004-04-30 07:06:56 UTC
Permalink
Post by GreatPity
: 可是你的文章裡半個字都沒有講到Hungarian Notation啊?
: 難道說「善用縮排、變數字首用代碼方便辨認」就是Hungarian Notation?
: 那你不要唬大家了,以為大家沒看過啊。
sorry,我沒有要唬任何人,但我能查到的網站資料
主要就是在講關於命名的部分
: ---
: 變數字首用不同的英文字母區分資料形態,這是過去式了。
: 在現在的環境下,這樣做沒什麼好處。
: 想要玩這個,回去玩Fortran 77就好了。
:  
小弟程度差 只能這樣寫程式
不過變數命名 如果單用 a,b,c ...i,j,k ...x,y,z 真的很"難"看
不知道大大有什麼更好的建議啊
應該說你POST的內容跟"匈牙利命名"無關吧
這部分 MICRO PRESS 出的 "Programming Windows"有提到

--
有時候無聊也是不錯的一件事...

--
 ◎ Origin: 中央松濤站□bbs.ee.ncu.edu.tw From: L502-08.ee.cycu.edu.tw
Palatis
2004-04-30 09:18:42 UTC
Permalink
Post by 深海
Post by GreatPity
: 可是你的文章裡半個字都沒有講到Hungarian Notation啊?
: 難道說「善用縮排、變數字首用代碼方便辨認」就是Hungarian Notation?
: 那你不要唬大家了,以為大家沒看過啊。
sorry,我沒有要唬任何人,但我能查到的網站資料
主要就是在講關於命名的部分
: ---
: 變數字首用不同的英文字母區分資料形態,這是過去式了。
: 在現在的環境下,這樣做沒什麼好處。
: 想要玩這個,回去玩Fortran 77就好了。
:  
小弟程度差 只能這樣寫程式
不過變數命名 如果單用 a,b,c ...i,j,k ...x,y,z 真的很"難"看
不知道大大有什麼更好的建議啊
應該說你POST的內容跟"匈牙利命名"無關吧
這部分 MICRO PRESS 出的 "Programming Windows"有提到
匈牙利表示法我實在無法恭維.

whoCanTellWhatThisVariableIsAboutAtFirstSight?
面對上面這種變數名稱我實在...

- --
最好的是男人 (man)!
請善用 google (http://www.google.com/)!
㊣包皮過長,台北至高雄
2004-04-30 13:52:58 UTC
Permalink
Post by GreatPity
: 可是你的文章裡半個字都沒有講到Hungarian Notation啊?
: 難道說「善用縮排、變數字首用代碼方便辨認」就是Hungarian Notation?
: 那你不要唬大家了,以為大家沒看過啊。
sorry,我沒有要唬任何人,但我能查到的網站資料
主要就是在講關於命名的部分
那麼請移駕看一下本家的網站

http://msdn.microsoft.com/library/default.asp?
url=/library/en-us/dnvsgen/html/hunganotat.asp

Hungarian Notation考慮很多層面
除變數以外,也包括程序(procedures)的命名規則
程序的名字以傳回值的名稱開頭,說明其用途
變數名稱,先以數值的種類開頭,後面加上形容詞,等等

這樣的規則還有很多
只講變數命名法的其中一部份,只能說是從HN借來的一點點「心得」。
Post by GreatPity
: 變數字首用不同的英文字母區分資料形態,這是過去式了。
: 在現在的環境下,這樣做沒什麼好處。
: 想要玩這個,回去玩Fortran 77就好了。
小弟程度差 只能這樣寫程式
不過變數命名 如果單用 a,b,c ...i,j,k ...x,y,z 真的很"難"看
不知道大大有什麼更好的建議啊
只有在大型計畫當中才需要用變數首字來說明變數形態,因為資訊非常
混亂, documentation 可能衝突矛盾,需要用一切手段防止錯誤,自己
寫小程式大可不必做這種折磨自己的事情。請看C standard library
documentation,裡面各個函數的args多的是 s, n 這些「共通字母」,
雖然說變數名字要儘量寫成有意義,可以看懂,但也有這種狀況存在。
如果函數的用途就是用來接任何一個字串,那麼寫成sourceStr或someStr
還真的不如s 好些。

使用有意義的單字湊成identifier, 記得不要太長,就不會錯。重點是
在實作練習中尋找最適合自己的方法。至於太複雜的命名規則,那是大
可不必,殺雞不必用牛刀。

---

(我只有一個問題:一般書上建議的命名規則都不用底線(underscore),
那底線到底要什麼時候用?使用底線也不是壞事,尤其在identifier
累積的單字個數達到三節以上的時候。)
 
--
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 我們要保證一切的利益都歸於國家與黨。 
_______________________________________

Mk.3(N)  journeyman  - Moderator, Military Board
2-16-2K orig., 9-26-01 dropback 中央大學松濤風情資訊站

--
 ◎ Origin: 中央松濤站□bbs.ee.ncu.edu.tw From: 218-162-239-239.dynamic.hinet
继续阅读narkive:
Loading...