※ 引述《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 起冲突为原则制定
以上是小弟的一些愚见
还请各位鞭小力一点