论 Python 方法命名的美观度

2014-12-31 12:46:45 +08:00
 GeekGao
get_xxx_name

process_xxx_attr

is_xxx_workable

upsert_xxxx_prop

这么命名,但是包含大量此类命名后,代码看起来有些别扭的感觉。不知道大家有没有什么好的命名实践方法?
3643 次点击
所在节点    Python
13 条回复
bigzhu
2014-12-31 12:51:32 +08:00
驼峰啊,开头动词且小写
neoblackcap
2014-12-31 12:54:56 +08:00
PEP8建议是用蛇形,而且方法名是给人看并理解是用来干什么用的。有时候长也比短好,我自己写的函数名也很长,至少别人一看就知道干嘛用的
qdwang
2014-12-31 13:04:33 +08:00
个人也觉得用下划线不好看。。。。lisp系里面可以用 “-” 链接什么的挺好,还能加特殊符号表达意思。

驼峰也挺好,是一般语言的看上去比较舒适的选择。

不过python很多库里都是用小写,但是很少看到 下划线,可能是拆分的粒度比较细。
glasslion
2014-12-31 13:05:32 +08:00
可以看下 Pycon2013 上的这个演讲:

<amp-youtube data-videoid="YklKUuDpX5c" layout="responsive" width="480" height="270"></amp-youtube>slide: http://rhodesmill.org/brandon/slides/2013-03-pycon/

国内程序员太喜欢滥用 get_xxx, set_xxx, process_xxx 之类的名字, 换一个更具体的动词会比较好。
GeekGao
2014-12-31 13:13:45 +08:00
@bigzhu PEP8不建议驼峰啊,况且企业内一般也不常用驼峰命名规则
simon7
2014-12-31 13:16:54 +08:00
我都是用驼峰的,反正代码就我一个人维护。
iT2afL0rd
2014-12-31 13:34:57 +08:00
我也不太喜欢这种命名方式,一般还是用驼峰。只要意思表达的都清楚就好了
rcmerci
2014-12-31 13:43:58 +08:00
@glasslion 主要英语不够好。容易想到的只有get,set什么的,最后发现一堆get_xxx ....
jjx
2014-12-31 15:46:55 +08:00
get/set 驼峰  java的习惯吧

python还是小写加下划线

我倒觉的主要是英文问题,好多都不知道用什么单词表达
yellowV2ex
2014-12-31 15:57:52 +08:00
呵呵,来看看objc的方法命名

stringByReplacingOccurrencesOfString
stringWithContentsOfFile
initWithCharactersNoCopy

基本上把这个函数的返回,传入,用来干嘛的都体现出来了

变量
NSStringEncodingDetectionDisallowedEncodingsKey
NSStringEncodingDetectionUseOnlySuggestedEncodingsKey
fatestigma
2014-12-31 18:34:19 +08:00
我个人比较喜欢驼峰式的。但是后来发现很多开源代码风格主要还是像PEP8。所以现在基本也用这种方式了。。在团队合作中确实能方便不少。
特别喜欢Ruby的那种返回bool的方法用?结尾,方法具有"破坏性"的以!结尾。
cbsw
2014-12-31 19:11:56 +08:00
@fatestigma 这是从 Lisp 处学来的,认真看 Lisp 代码还是最优美的
Janselz
2015-01-04 10:57:04 +08:00
个人觉得Python使用驼峰 不是很好看,还是喜欢“get_xxx_name”这种格式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/158169

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX