作者hstt ()
看板Soft_Job
標題Re: [請益] 要如何說服同事停止命名類似iID的變數
時間Thu May 23 16:43:11 2013
我也想趁機請教大家的看法
曾經遇過如此命名規則
class => CXXX
struct => SXXX
private member => fXXX
method內部使用的變數 => mXXX
method input => iXXX
method output => oXXX
Enum => EXXX
...etc
當時相當不習慣這樣的code,而且也感受不到好處在哪
請問這是值得學習的style嗎?
※ 引述《FukadaKyoko (小毛哥)》之銘言:
: 現在的專案中很多人會使用例如:
: int iID = 0;
: bool bVisible = false;
: struct Vector2
: {
: int iX;
: int iY;
: }
: 這種命名法,
: 個人看了真的覺得很痛苦.
: 我的看法是:
: 我們專案使用visual studio, 此情形下若要知道型態滑鼠上去就知道了,
: 並不需要依賴變數前面型別的縮寫.
: 而且很多討論命名的文章也支持直接針對變數意義命名,
: 型別的縮寫並不能帶來更好的理解, 也不對於變數本身帶來任何意義.
: 如: http://chinesetrad.joelonsoftware.com/Articles/Wrong.html
: 或者搜尋Clean Code.
: 我在專案中提過希望不要再加縮寫,
: 但大家的反應是"有差嗎"或者"習慣了".
: 不過大家也不反對我把一些舊的/共用的class裡面的code重新命名去掉縮寫,
: 所以實際上同事可以接受也沒有閱讀困難,
: 而且也並不真的需要那個縮寫幫助寫作,
: 只是好像不加縮寫不行.
: 而且因為專案並無coding規範,
: 所以光是提出這種命名沒有意義的說詞是沒人鳥的...
: 想請問板友的專案狀況是如何呢?
: 有沒有人也支持不加縮寫並且有一套更強而有力的說詞可以提供?
: 謝謝!
: P.S. 如果有同事認出小弟的話也歡迎直接推/回文討論.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.19.245
推 BlazarArc:我是 private member 用 m 開頭 05/23 16:48
→ BlazarArc:method 的 local 變數為何你需要特別標示? 05/23 16:48
→ BlazarArc:多到搞不清楚 你就該重構 method 啦 05/23 16:48
→ noonOut:mXXX 很好用啊,可以不用切到 header 就知道是不是 member 05/24 03:38
→ TonyQ:我們是 _XXX XD 05/24 13:10
→ ykjiang:還有一種是 static 變數,有人建議底線加後面 XXX_ 05/24 13:29
→ ykjiang:因為底線加前面有些編譯環境會錯亂 05/24 13:30
推 BlazarArc:<-討厭底線 XD 05/24 13:58
→ TonyQ:我們是 protected 加後面, prviate 加前面。(被抓走 05/24 15:30
→ AntaresStar:前底線加一大寫字母 前二底線加字母 都是編繹器保留的 05/24 23:31
→ AntaresStar:之前就遇過寫那樣結果在某個平台上發生撞名 05/24 23:32
推 snaketsai:我是underscroe派的(菸) 05/25 00:23
推 plover:C++抄google style,C#抄M$,python抄官方建議 05/25 02:38
→ plover:C抄linux kernel,完全沒有特色的抄就是一種特色 XD 05/25 02:38
推 lulala453:Python 的 pep8 真是簡單易懂 05/25 10:52
→ jej:java是$加在前面會錯亂.. 雖然之前有份工作也有狂人強制 05/29 08:15
→ jej:要在程式裡面private method要用_XXX() 最後也被強X了... 05/29 08:16
→ jej:但是後來到了其他公司之後一堆人也覺得這說法蠻雞肋的... 05/29 08:16
→ jej:不就是人寫得程式.. spec規範好得照spec寫不就得了.... 05/29 08:18