编程的细节与java语言中公共字段的语义,这些你都懂吗!

编程的细节与java语言中公共字段的语义,这些你都懂吗!

这些天来,我一直在参与讨论新的1.1级提案。这个新提案主要针对现有的课堂领域相关提案。我不会在这里讨论技术细节。说说我对现有课堂作业建议的理解。公共字段的语义本质上不同于私有字段的语义(如果子类和父类具有同名字段,对于私有字段,它们是完全不相关的两种状态,但是对于公共字段,它们实际上指向相同的属性),但是两者都被称为字段。

事实上,这个所谓的公共字段与Java / c#等其他语言中的公共字段语义完全不同。即使这个问题不会对JS程序员造成实际伤害(事实上,这是非常可疑的),它也会导致JS程序员和其他语言程序员在概念理解上的差异(事实上,不同语言之间的语义差异非常正常,但这并不意味着人为地扩大差距是可以的),这将影响跨语言用户(完整的堆栈工程师)。现有的字段语法增加了许多新的ASI危险,最重要的是。

其中一些会严重破坏无分号编码风格的核心价值(概念简单:你只需要查看每行的第一个标记来决定是否添加分号)。这个问题如此严重,以至于TC39决定在SPEC中包含一个关于ASI的章节,并在社区中引起了轰动。我不在乎前两点。我主要想谈谈第三点。当然,我知道有些人厌倦了这种争论,不喜欢他们认为“客观”的所有词语。总的来说,我不认为听或不听会有什么坏处,但是在语言标准讨论的情况下——因为当你来到这里时,你注定会收到各种各样的反馈。

包括所有你认为“主观”的感觉。在讨论语言时,“主观”感受也很重要。因为尽管它看起来“主观”,但背后可能有重要的原因。比如当我们理解符号并使用它们传达的概念时,我们的心理模型。即使是纯粹的美学反对,例如反对# PRIV的反对(并非所有的反对都是美学上的),也至少是重要的。因为它可能会分裂社区,从而给工程师和团队带来额外的负担。

( A组:我们只使用TS的私有,B组:我们只使用JS的本地私有,C组:我们都使用它,你必须了解在哪个场合,在每个类的每个字段/方法中使用哪一个或两个!) )此外,我一点也不想卖给你没有分号的风格。我在这篇文章中反复强调,有了强大的L INTER保护,任何分号的样式都可以。这不是哪种风格好的问题,但是你最好不要破坏一种非常流行的风格 ,所以这个人的“膝跳反应”真的让人无语。我的观点实际上非常简单:虽然现有的领域提案只增加了一些边缘案例,在实践中你可能一辈子都无法触及。

但问题的核心是半无风格的核心价值是概念简单,简单地检查你的人肉代码是否泄漏分号是可行的,或者你可以编写一个简单的工具在5分钟内检查风格。[和分号——必须的风格,人肉检查非常困难,所以我们必须有非常完善的L - Inter保护。然而,完美,比如ESLINT,比上面提到的简单工具至少需要几千倍的复杂性和劳动。基于这种理解,Field的提议无疑正在破坏无分号风格的核心价值。我不是说TC39不能这样做。但是请至少不要吝啬,告诉我我们调查了什么。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181103A0UEPA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券