Re: [讨论] 大家的命名习惯 - 现有命名方法汇整及比较

楼主: lion741205 (狮子)   2019-08-18 17:31:43
※ 引述《meokay (我可以)》之铭言:
: 如题
: 现在常常会Review别人的程式码
: 发现大家的命名习惯都好不同
: 举例来说
: 一个Func是Check Status
: 有的人会写 void check_status()
: 也有的人写 void checkStatus()
: 也有看过写 void CStatus()
: 姑且不论第三种
: 那大致上就是分成底线派跟非底线派
: 大家的命名是哪种风格啊?
: 有没有大大愿意分享一下~
: 或是有什么坚持xDD
: 我先投非底线派一票QQ
命名规则是为了增加识别和可读性,没有强制的规定,但一旦选择其中一种,会建议编写
时统一格式;而化学、天文、生物也有其惯用的命名方法;大部分的程式语言也有对此进
行建议,以统一风格。
在程式设计的命名上,当变量、函式及类别等名称由两个以上的单字组合,就可以使用现
有的命名方法,增加识别和可读性。目前已经出现的命名方法,可以分为Underscore(底
线式)、Camel-case(驼峰式)及Hungarian notation(匈牙利命名法)三大类。此文进行汇
整,并以个人经验,探讨其优缺点。
作者: EricTCartman (阿ㄆㄧㄚˇ)   2019-08-18 18:05:00
匈牙利命名对现代IDE有多余吗? 当有一堆membervariable或可选的变量时,我反而会直接从型别类型找szXXX这种C-String命名法 取stringZero我反而会误会
作者: abc0922001 (中士abc)   2019-08-18 18:07:00
我现在也不用匈牙利命名法了
作者: EricTCartman (阿ㄆㄧㄚˇ)   2019-08-18 18:07:00
不熟sz的惯用命名 应该只是写得不够多 看得不够多有些idiom是广为流传 命名就看语言使用者/团队习惯像pimpl 如果你不懂C++的idiom 当然看不懂
作者: WunoW (WunoW)   2019-08-18 18:15:00
你列的这些约定成俗我都没用过......is做input stream...?? 我是都当boolean变量啦 像isValid
作者: EricTCartman (阿ㄆㄧㄚˇ)   2019-08-18 18:18:00
if/is/of/os我都看过 这真的看习惯 如果scope不大我是直接取stream 反正你function不超过20行不会有困扰 因为型别已经告诉你
作者: WunoW (WunoW)   2019-08-18 18:20:00
型别我会放后面 像amt/amtStr 这样传json就放在一起了
作者: EricTCartman (阿ㄆㄧㄚˇ)   2019-08-18 18:21:00
匈牙利我觉得用在built-in type就好 OOP太多抽象的东西强迫自己想个有鉴别性的缩写只是徒增困扰
作者: WunoW (WunoW)   2019-08-18 18:21:00
amount->amt, member->mbr...之类的约定成俗反而更常见
作者: EricTCartman (阿ㄆㄧㄚˇ)   2019-08-18 18:22:00
member我看到比较多都写m耶 C++啦 WunoW是写哪个语言?
作者: WunoW (WunoW)   2019-08-18 18:30:00
只写m我也看过 但我都会尽量要求缩写也要明确C和C++派大概是我见过变量名称最懒的...不然其实ide有按tab自动完成功能 变量长一点不会麻烦但命名明确一点我觉得还是对开发和维护都有好处不然专案多人开发 你的m不是我的m 不太好
作者: EricTCartman (阿ㄆㄧㄚˇ)   2019-08-18 18:37:00
XDDDD
作者: doranako (真爱无限)   2019-08-18 19:14:00
三种我都有用过,大家有共识统一用什么就用什么,member variable近年多加底线来区分
作者: LinuxKernel (Linus Torvalds)   2019-08-18 19:42:00
amt mbr 是啥鬼有人的约定俗成不太一样
作者: jej (晃奶大馬桶)   2019-08-18 20:25:00
维护老屁股系统 各种命名都会遇到 还能在这挑是幸福啊
作者: bill0205 (善良的小孩没人爱)   2019-08-18 20:55:00
今年初专案的会议结果光是命名规则就讨论快3小时XDD最后共识还是驼峰式为主
作者: EricTCartman (阿ㄆㄧㄚˇ)   2019-08-18 21:37:00
命名规则竟然能讨论到三个小时 还 满 屌 ㄉ
作者: MOONY135 (谈无欲)   2019-08-18 21:50:00
svc 我觉得当service的变量不错啊
作者: steve1012 (steve)   2019-08-19 03:42:00
能不缩写就不缩写
作者: shooter555 (shooter)   2019-08-19 09:29:00
我也觉得不缩写的好 以方便看为主if input file这还真少见开头大写的驼峰式也愈来愈常见 因为很多protocol文件都是开头大写驼峰式 变量命名也直接照搬ZoneNameString 这种放后面的也愈来愈常见
作者: jason710068 (综合水果汁z)   2019-08-19 09:49:00
匈牙利命名稍微有碰过win32 api应该都知道在干嘛,但可能不知道那个叫匈牙利命名
作者: eva19452002 (^^)   2019-08-19 09:52:00
有人说匈牙利命名很难阅读,是真的吗?
作者: hooll111 (Katsudon)   2019-08-19 10:25:00
作者: leveger0903 (脆笛酥)   2019-08-19 12:58:00
PHP PSR-2规范是小写开始的驼峰命名
作者: pttworld (批踢踢世界)   2019-08-19 15:03:00
Java派方法也是小写开始驼峰,类别名大写驼峰
作者: tennyleaz (tenny)   2019-08-20 12:52:00
能不要缩写就不要用
作者: ssccg (23)   2019-08-20 13:44:00
缩写只有那个专案原始开发者自以为约定俗成...
作者: sxy67230 (charlesgg)   2019-08-20 13:58:00
直接看guideline或是看公司规定,大学生学写code的话,直接看guideline。像google的python guideline 就有写很多原因不推荐的写法。像很多新鲜人喜欢写expect:这样所有的错误都会被忽略掉,所以不推荐这样写。新手不想养出坏习惯就按照guideline 来避免写出乱七八糟的code。所谓的命名也是高手之间约定俗成的写法,除非公司特别规定,要不然就尽量照高手之间的写法,未来管理也会方便一点。

Links booklink

Contact Us: admin [ a t ] ucptt.com