看板 C_and_CPP 關於我們 聯絡資訊
關於一開始寫程式的時候有沒有依照規範取人看得懂的變數名,我也不記得有沒有 不過我做了一個夢 夢到我以前在一種用某M牌CPU並且用某種水果取名字的電腦上學寫BASIC程式 那時候並沒有依照現在可以接受的規範給變數取名 因為我夢到該種水果電腦只承認變數名稱的前面兩個字 變數名字可以很長;但是前兩個字重覆就不算 例如MARY和MARK其實是同一個變數 不過其實當時用MARY或MARK的下場都一樣,會發生錯誤 因為我夢到我不是用原版的那某水果電腦 是用某A開頭R結尾的台灣公司當年賣的水果仿造品 他裡面有一個不明用途的MA指令(到現在我還是沒夢到他是幹嘛的) 所以MARK或MARY都一樣,觸犯用關鍵字當變數名的禁忌 因為給這種兩個字的變數命名整了不少時間 所以後來當換到某I牌8開頭8結尾CPU的機器上的時候 就夢到說,該牌機器上的某M牌BASIC不但可以用很長很長的變數名 而且承認前32個字,或40個字,沒夢到那麼清楚 所以我那時夢到就立刻把所有的變數名都取成SWAPPING.SOURCE.ADDRESS這麼長 那一個swap就可以寫成這樣 SWAPPING.TEMP = ARR(SWAPPING.SOURCE.ADDRESS) ARR(SWAPPING.SOURCE.ADDRESS) = ARR(SWAPPING.DESTINATION.ADDRESS) ARR(SWAPPING.DESTINATION.ADDRESS) = SWAPPING.TEMP 喔對了,這個某M牌BASIC接受在變數名中使用 . 不是 _ 喔 這點實在滿笨的,所以後來他們就改了 以上都是夢到的,和本板主題無關 但是接下來夢到的,就跟本板有關了 因為有夢到以上變數命名的經驗 所以我後來就不贊成在小program unit中茲事體大地取很複雜的變數名字 基本上一個program unit如果短到只在做一件事 而且可以用簡單的口語解釋清楚,那就不需要在意變數命名 比如以下的片段,考慮一下你會怎麼跟別人解釋這個program unit在幹嘛 void swap(int *x, int *y) /* 要掉換的兩個數,x 和 y,以指標傳入 */ { int temp; /* 宣告一個暫存位置 temp */ temp = *x; /* 取出 x 的值放入暫存變數中 */ *x = *y; /* 取出 y 的值放入 x 中 */ *y = temp; /* 令 y 的值 = temp */ } 以我來說,如果用 x , y 會比 int1, int2 更簡單,那麼用 x , y 命名即可 因為 x , y 在這個程式單元中「自洽」,便不需要考慮是否跟其他部份混淆。 但是即使這樣我也絕不同意用 ttt , tttt 這種變數名稱 這根本就在整人,增加閱讀難度 改寫一下上面那段 void SWAP(int *___t, int *____t) { int _____t; _____t = *___t; *___t = *____t; *____t = _____t; } 不要認為這只是故意找麻煩, 沒有準備的時候,ttt或tttt看起來其實跟上面差不多。 而 ll, mm, tt 等一堆,和 __1, __2, __3 又有何不同? 不過還真的有人用這種風格的全域變數。 最近我夢到(又是夢到)改到某個套件的模組,這個套件有很多新鮮事 其中一個是這套件的歐洲用戶很多,所以你會看到德文或西班牙文的註解 另外一個是,某個叫做productbook的模組,這模組也很鮮,像是俄國人改寫的 不知道這個俄國人在想什麼,總之他的語言檔裡面就是這樣: PRODUCTBK_0031 = "cash"; PRODUCTBK_0032 = "You arn't privileged enough to modify this item."; PRODUCTBK_0033 = "Credit Card"; ... 這樣一直下去到 _0183 還是多少的 這種跟密碼一樣的命名風格衝擊到好幾個層面 第一個是程式修改,第二個是訊息翻譯,其他的就留給大家想了 當然最好是永遠也不要碰到這種風格的東東… --- 不過我要重申一次,以上都是我夢到的 如有雷同,那也沒有辦法~ 請板主隨便發落 :︴   -- Google 關鍵字 : MPFC-TCP / 殺人笑話 / 包租婆也有過當羅莉的時候 Youtube關鍵字 : 脫衫脫褲 / 傻蛋奧運 / 宗教審訊 / 買張床 / 單車超人 / 謳歌金錢 *美髮師登山隊 http://tinyurl.com/dm6lh3 *Ypres 1914 http://tinyurl.com/b432jb [蒙帝派松正體中文計畫] http://www.youtube.com/user/JamesBondXD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.232.105.197
evernever:夢真多... 04/27 21:15
yauhh:妖妖夢 04/27 21:20
vocaloid: 永夜抄 04/27 21:24
awashharp: 夢時空 04/27 21:25
satokuzao: 星蓮船 04/27 21:27
chrisdar: 地靈殿 04/27 21:41
COLDTURNIP: 文花帖 04/27 21:54
netsphere: 都是阿扁的錯 04/27 21:56
MOONRAKER: 台灣加油 04/27 22:25
VictorTom:到底為什麼會流行用"我夢到"的來發文勒XDDD 04/27 23:21
ledia:因為某卦板怕講到太關鍵的事會有官司麻煩, 夢到的總沒罪吧 04/27 23:44
VictorTom:那我可以說我是夢遊起來打的嗎XDDD 04/27 23:51
MOONRAKER:其實我有一點意見說…上面居然連續推東方系列,推了那麼 04/28 01:09
MOONRAKER:多代,正當我覺得非常榮幸的時候突然轉到阿扁… 04/28 01:10
MOONRAKER:害我接不下去,只好推個台灣加油… XD 04/28 01:11
MOONRAKER:總之謝謝大家 XD 04/28 01:12
VictorTom:那~~把小弟的推文修掉吧XD 話說, 我只聽過前兩個Orz 04/28 01:38
sunneo:其實我先前在某版那樣子講的時候就被那樣子回了 .. 04/28 01:41
sunneo:後來想想 照那樣的觀念下去 大概是希望沒人去回應他吧 04/28 01:42
sunneo:所以既然某夢中人不想原po得到回應 那我就順他的意... 04/28 01:42
sunneo:畢竟沒有人想維護的程式碼 要有人回應也是頗難的 04/28 01:43