我也有遇過這種 coding style
我覺得靠人來維護的 style 最大的問題在人會出錯、人會容錯
如果變數名寫錯,譬如寫成 int32 i16var,對可讀性和維護真是一大傷害
如果有人不小心按自己的 style 寫了一大段 code 又沒被抓到 check in 了進去
譬如 bool bChecked 寫成 bool isChecked,bool bIsChecked
這些看起來都很合理或是細節沒有規範,
reviewer 很可能沒有查覺就放過了
對於會回答 "有差嗎", "習慣了" 的人我都認為是因循行事的傢伙
個人認為就是這種人十之八九會寫錯名字,然後被抓到的時候也給你同樣的答案
如果回答 "這個是 coding style 的規定"
並且有工具能抓出錯誤的命名甚至自動產生變數名prefix
團隊對於不會造成 bug 的 typo 也視為 bug
那我覺得這個 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: 118.163.133.138