作者:
remmurds (Stronghold)
2016-07-20 14:09:14※ 引述《sean72 (.)》之銘言:
: 和同事討論到這個問題
: 也確實發生在某個協同作業的案子,兩個人爭得面紅耳赤
: 例如getter/setter
: java 喜歡用
: getNum() / setNum() 當作public api
: C++ 用overloading
: int Num() / Num(int)
: Python 用property
: Num.x = 1234
: 某個C++案子,
: A同事非常習慣 getNum / setNum這種寫法
: 他可能不論任何情況都會這樣寫
: B同事則大力反對,覺得overloading才是符合語意
: 我自己是無所謂,
: 只要符合OOP精神就好,只要符合每個人同意的coding standard /style就好
: 大家怎麼看?
關於 coding convention 這種事
寫程式這些年來小弟的做法只有一個
由於幾乎每種語言都有它的 standard library
花點心思研究下 standard library 的 convention
之後 team member 就照著它寫 code
理由還蠻簡單的
由於寫 code 時幾乎不可能不用到 standard library
如果這時候再自創 convention
同一份 code 就會出現兩套以上的 convention
convention 的出現不外乎就是為了閱讀順暢
同時多套 convention 等於是在開倒車
舉個例子
Java 習慣將常數以全大寫和底線命名成 THIS_CONSTANT
C# 則是 ThisConstant
想像一下同一份 C# code 兩者交錯使用會有多混亂
當然這不意味著你們 team 不能有自己的 convention
自己的 convention 可以以不和 standard library 起衝突為原則制定
以上是小弟的一些愚見
還請各位鞭小力一點