跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 使用不同字体区分变量名和表达式
未分類
29 5 月 2020

使用不同字体区分变量名和表达式

使用不同字体区分变量名和表达式

資深大佬 : megakusa 2

听了内核恐慌和字谈字畅合作的最新一期节目:《字谈字串(九)名名之中》,谈到为了防止变量名和表达式相混淆,操作系统在用户为文件名命名时要制定限制,比如不能用斜杠、反斜杠等字符做文件名。

而用户在制定函数名时也需要使用诸如驼峰命名或下划线等方式来避免出现空格。那么我在思考能否发明一种编程语言,其表达式与变量名采用不同的字体。使用一个快捷键来切换两种输入模式,比如当需要打变量名的时候,切换为斜体字体,其余则为普通字体。

如此一来我们就可以使用自然语言来命名函数名,用户在重命名文件名的时候也不再需要有那些符号限制。对于代码可读性和操作系统的人性化很有帮助。

P.S. 我不是学技术的,只是提出一个不成熟的脑洞,别喷我……

大佬有話說 (14)

  • 資深大佬 : jugelizi

    不是程序员你瞎操心

  • 資深大佬 : cissoid

    字符编码和字体样式是两码事

  • 主 資深大佬 : megakusa

    @cissoid Unicode 里有现成可用的数学斜体字符

  • 資深大佬 : yidinghe

    语言本身只能包含语法,不能包含字体。在语法足够清晰的前提下,IDE 可以为不同的语法元素配置不同的字体。几乎所有的 IDE 都已经支持这么做了。

  • 資深大佬 : yidinghe

    https://gitee.com/yidinghe/codes/7jgxdcr8v4smew2b1ft6i92/raw?blob_name=%E6%97%A0%E6%A0%87%E9%A2%98.png

    以这张图为例,类型、方法和变量用三种不同的颜色区分开,可以很大的提升阅读效率。

  • 資深大佬 : XanderChen

    你说的那叫富文本,已经出现很久了。

    而且常规字体和斜体字混排对代码可读性一丁点的帮助都没有。

    至于操作系统对文件名仅有的几个符号的限制…我觉得不值一提…

    驼峰命名或者是连字符分割恰恰是为了提高代码可读性,而不是避免代码中出现空格,因为不是避免出现空格,而是编译器规定了不能出现空格。

    你要是想在代码里加空格,不如想想怎么写个编译器,但是我觉得…这么麻烦的事…没人会做…

  • 主 資深大佬 : megakusa

    @yidinghe 我知道语法高亮,那是 IDE 的事情。但是代码本身还是相同的英文字母,所以空格 /特殊符号不能有,否则会和表达式相混淆。但既然 Swift 都支持用 Emoji 命名了,能不能直接在底层就弄两种字体来解决我上面描述的问题?

  • 資深大佬 : churchmice

    这个想法妙啊

    不同字体底层对应的是同一个 unicode,只是渲染上面不同

  • 主 資深大佬 : megakusa

    @XanderChen ok,我了解… 其实就是觉得既然 Apple 一直在追求那种人性化的改进,也把不允许出现在文件名中的限制努力减少,但还是不允许出现某些特定字符。感觉我这个似乎能彻底解决这问题

  • 資深大佬 : leoleoasd

    @megakusa #7 支持 emoji 命名的语言本身就支持用 unicode 数学符号命名, 缺点是可能 ide 不能正确渲染.

  • 主 資深大佬 : megakusa

    @churchmice 感觉这想法得专门往 unicode 里加一块专门显示代码的字符

  • 資深大佬 : vk42

    这明显是伪痛点。你是想要搞一套单独的字符编码把英文字母重新定义一遍然后靠字体不同来区分?来你给我说说“0O1Il”这些字符分别是啥?嫌不够乱么还?

  • 資深大佬 : yidinghe

    我就不该回这个贴

  • 資深大佬 : daniaoren

    @yidinghe 心疼一波,回复得太认真了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具