声明换行符结束

问题描述 投票:1回答:3

我目前正在尝试编程语言。几个月前我定义了基本语法并编写了一个非常简单的解析器。今天我想继续这个项目,但是在很短的时间之后,有一些关于语法的东西困扰着我。

声明结束

当我启动项目时,我认为使用换行符作为语句的结尾会很好。就像那样:

public fnc addPerson: Person personInstance
{
    [this.collection.add: personInstance]
    return this
}

今天我认为使用分号会更好看,也可以将整个事物放在一行中。

public fnc addPerson: Person personInstance
{
    [this.collection.add: personInstance]; return this;
}

我真的很想知道从客观(非技术)角度来看这些的利弊是什么?

我的意思是使用换行符将迫使开发人员(至少有一点)编写干净的代码。但它使事情变得非常灵活。

  • 您可能会遇到什么样的问题(作为语言的用户)使用linebreak end of statement?
  • 使用换行符或分号我必须接受哪些语言功能限制?
line-breaks language-design
3个回答
1
投票

我们之前拥有所有这些,包括汇编程序,RPG,Cobol和各种其他表格式语言,其中行终止符很重要。更难编写编译器。我们不需要回到那里。

当这个第一次完成时,每个人都意识到需要一个语句连续指示符,所以你可以在多行中断语句。现在Scala等人。他们重新引入了这一点,他们已经忘记了这一部分,因此无法以可接受的格式提出长篇陈述。

不是个好主意。空白是空白,而不是语法。


1
投票
  • 我希望,对于大多数人来说,换行更容易阅读
  • 使用换行会为很长的行引入可读性问题
  • 我不知道如何对另一方施加任何限制

1
投票

使用newline作为语句分隔符的一个大问题并不是你不能在一行上写多个语句(你不应该这样做,它使得很容易错过代码的一个重要部分)。

问题是它很难在几行上写一个长语句。对于这会成为问题的语言,请查看JavaScript及其自动分号插入。

© www.soinside.com 2019 - 2024. All rights reserved.