- 论坛徽章:
- 2
|
回复 74# fender0107401
我也觉得它别扭, 主要是觉得elisp别扭……
只能靠前缀……
后果就是长长的变量名, 函数名……
看着难受…… 写着更难受……
前缀真的靠谱么?
C里面的名字其实只保证最前面若干个是不会有歧义, 后面就不保证了。
C89外部名只保证6个字母, C99是31个。
不过那些过于老旧的系统, 确实应该让它们被淘汰了……
不说C, 说elisp。
想写一些elisp代码, 增强现有libX的功能。
该用个什么前缀? X-y? 万一以后libX 使用了 X-y 这个名字怎么办?
用自己的名字? 就这么点垃圾代码还用自己的名字, 太张扬了……
取个好名字难啊……
关键是, 现在的问题是: 只想让这些名字在某个特定范围内被使用。
直接限定它们的作用域的机制: static, lexical-let, label才是靠谱的。
而前缀, 反而不是直面这个问题, 而是一种workaround。
说实话, 我是非常不理解坚持 free(p); p = NULL; 的人为什么会对static反感……
static才应该更有安全感才对……
至于register, 以前编译技术不发达的时候应该是能起到作用的。
Gates 说: 640k is enough…… 他是不是很搞笑? |
|