对比一下 Java:
int x = 8
Python, JS 等加个前缀:
int_x = 8
只是把空格换成了下划线,相比 Java 并没有增加长度,也一目了然。特别是 Python 还是强类型语言,主要也是给人眼识别。
如果项目担心数据类型混乱,直接按这个规范去加个统一的前缀就可以了,也不需要什么 type hint 了。
1
ipwx 2022-01-04 01:10:36 +08:00
因为大部分情况下项目已经有自己的约定了啊。。。不需要加前缀。
比如 i, j, k 肯定是整数。 s 肯定是字符串。 arr 肯定是数组。 更多时候根据语义,bookList 肯定是 List[Book] 基本都够了 |
2
ipwx 2022-01-04 01:12:02 +08:00
而且说实话,你这种命名约定扩展到最后就是。。。type hinting
你说是 arr: List[Union[Tuple[int, str, bool], Tuple[int, str]]] 这种更容易统一和分析呢,还是 lstTupleIntStrBoolOrTupleIntStrOfArr 更容易看? |
3
EPr2hh6LADQWqRVH 2022-01-04 01:12:44 +08:00
据说以前微软就是这么干的。
不过现代语言基本上都支持类型推测,大多数时候类型都是隐含的或者只声明一次,程序写起来更接近英语。 像你这样直接把提升程序可读性的努力打回解放前,顾此失彼了属于是 |
4
agagega 2022-01-04 01:47:02 +08:00 via iPhone
《匈牙利命名法》
|
5
crab 2022-01-04 03:01:19 +08:00
使用的时候不是多了前缀字节。
|
6
cmdOptionKana 2022-01-04 08:44:36 +08:00
楼主平时用什么编辑器,看起来好像没感受到现代 IDE/编辑器的强大?
|
7
Kilerd 2022-01-04 09:16:48 +08:00
type hints 不只是简单的告诉你类型是什么,而是告诉 IDE 类型是什么,这样 IDE 才能做到代码补全。
|
8
murmur 2022-01-04 10:16:34 +08:00
c 语言不就特喜欢这个风格
|
9
pengdirect 2022-01-04 11:46:43 +08:00 via iPhone
好像也没啥毛病。主要是这几个字母,懒得打
|
10
chenmobuys 2022-01-04 11:54:46 +08:00
这个下划线,感觉好丑
|