作者remmurds (Stronghold)
看板Soft_Job
標題Re: [討論] 各語言的語法和語意使用
時間Wed Jul 20 14:09:14 2016
※ 引述《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
推 Argos: 會不會連standard都不統一 QQ 07/20 14:19
推 abccbaandy: 話說有的IDE還會靠杯你的大小寫XD 07/20 14:37
→ qrtt1: @Argos 如果 standard 分成多組,由不同 team 開發會有微妙 07/20 15:16
→ qrtt1: 的不一致出現 xd 07/20 15:17
推 mixfuture: Java method 小寫 C#大寫 07/20 17:48
推 easyman: follow 用哪個IDE , lib 比較簡單 07/20 23:04
→ descent: 我有用 QT, 而 QT 和標準 c++ 程式庫不同, 該聽誰的呢? 07/21 08:52
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