听了内核恐慌和字谈字畅合作的最新一期节目:《字谈字串(九)名名之中》,谈到为了防止变量名和表达式相混淆,操作系统在用户为文件名命名时要制定限制,比如不能用斜杠、反斜杠等字符做文件名。
而用户在制定函数名时也需要使用诸如驼峰命名或下划线等方式来避免出现空格。那么我在思考能否发明一种编程语言,其表达式与变量名采用不同的字体。使用一个快捷键来切换两种输入模式,比如当需要打变量名的时候,切换为斜体字体,其余则为普通字体。
如此一来我们就可以使用自然语言来命名函数名,用户在重命名文件名的时候也不再需要有那些符号限制。对于代码可读性和操作系统的人性化很有帮助。
P.S. 我不是学技术的,只是提出一个不成熟的脑洞,别喷我……
1
jugelizi 2020-05-28 07:40:47 +08:00 via iPhone
不是程序员你瞎操心
|
2
cissoid 2020-05-28 07:44:28 +08:00 via Android
字符编码和字体样式是两码事
|
4
yidinghe 2020-05-28 07:54:05 +08:00 via Android
语言本身只能包含语法,不能包含字体。在语法足够清晰的前提下,IDE 可以为不同的语法元素配置不同的字体。几乎所有的 IDE 都已经支持这么做了。
|
5
yidinghe 2020-05-28 07:57:11 +08:00 via Android
https://gitee.com/yidinghe/codes/7jgxdcr8v4smew2b1ft6i92/raw?blob_name=%E6%97%A0%E6%A0%87%E9%A2%98.png
以这张图为例,类型、方法和变量用三种不同的颜色区分开,可以很大的提升阅读效率。 |
6
XanderChen 2020-05-28 07:59:01 +08:00 via Android 1
你说的那叫富文本,已经出现很久了。
而且常规字体和斜体字混排对代码可读性一丁点的帮助都没有。 至于操作系统对文件名仅有的几个符号的限制…我觉得不值一提… 驼峰命名或者是连字符分割恰恰是为了提高代码可读性,而不是避免代码中出现空格,因为不是避免出现空格,而是编译器规定了不能出现空格。 你要是想在代码里加空格,不如想想怎么写个编译器,但是我觉得…这么麻烦的事…没人会做… |
7
megakusa OP @yidinghe 我知道语法高亮,那是 IDE 的事情。但是代码本身还是相同的英文字母,所以空格 /特殊符号不能有,否则会和表达式相混淆。但既然 Swift 都支持用 Emoji 命名了,能不能直接在底层就弄两种字体来解决我上面描述的问题?
|
8
churchmice 2020-05-28 08:05:54 +08:00 1
这个想法妙啊
不同字体底层对应的是同一个 unicode,只是渲染上面不同 |
9
megakusa OP @XanderChen ok,我了解... 其实就是觉得既然 Apple 一直在追求那种人性化的改进,也把不允许出现在文件名中的限制努力减少,但还是不允许出现某些特定字符。感觉我这个似乎能彻底解决这问题
|
10
leoleoasd 2020-05-28 08:10:03 +08:00 2
@megakusa #7 支持 emoji 命名的语言本身就支持用 unicode 数学符号命名, 缺点是可能 ide 不能正确渲染.
|
11
megakusa OP @churchmice 感觉这想法得专门往 unicode 里加一块专门显示代码的字符
|
12
vk42 2020-05-28 08:27:14 +08:00
这明显是伪痛点。你是想要搞一套单独的字符编码把英文字母重新定义一遍然后靠字体不同来区分?来你给我说说“0O1Il”这些字符分别是啥?嫌不够乱么还?
|
13
yidinghe 2020-05-28 08:33:05 +08:00 via Android
我就不该回这个贴🙈
|
15
DoodleSit 2020-06-05 14:17:11 +08:00
字体不就是图片咯
|