Re: [討論] 各語言的語法和語意使用
※ 引述《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 起衝突為原則制定
以上是小弟的一些愚見
還請各位鞭小力一點
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.71.245.221
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1468994957.A.EC7.html
推
07/20 14:19, , 1F
07/20 14:19, 1F
推
07/20 14:37, , 2F
07/20 14:37, 2F
→
07/20 15:16, , 3F
07/20 15:16, 3F
→
07/20 15:17, , 4F
07/20 15:17, 4F
推
07/20 17:48, , 5F
07/20 17:48, 5F
推
07/20 23:04, , 6F
07/20 23:04, 6F
→
07/21 08:52, , 7F
07/21 08:52, 7F
C++處在比較特殊的情況
這三十年來居然沒有發展出一套大家都有共識的 convention
各家都有套自己的遊戲規則
因此小弟之前參與的專案 team member 之間協調出的結果是
不管用甚麼樣的 library (standard vs third-party)
自己的 code 一律以 Google 大神為主
https://google.github.io/styleguide/cppguide.html
反正跟著大神走應該錯不了吧
※ 編輯: remmurds (114.32.20.92), 07/21/2016 09:55:53
討論串 (同標題文章)