语句结束换行符

End of statement linebreaks

我目前正在试验一种编程语言。几个月前我定义了基本语法并编写了一个非常简单的解析器。今天我想继续这个项目,但是没过多久语法就出现了一些困扰我的问题。

语句结束

当我开始这个项目时,我认为使用 linebreaks 作为语句的结尾会很好。就这样:

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

现在我认为使用 分号 会更好看,这样也可以将整个内容放在一行中。

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

我真的很想知道从 objective(不是技术)的角度来看,优点缺点 是什么?

我的意思是使用换行符会迫使开发人员(至少在一定程度上)编写干净的代码。但它使事情变得非常不灵活。

  • 我希望对于大多数人来说,换行符更容易阅读
  • 使用换行符会给很长的行带来可读性问题
  • 我不明白一个人如何对另一个人施加任何限制

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

当时第一次这样做时,每个人都意识到需要一个语句继续指示器,这样您就可以将语句分成多行。现在 Scala 等人 已经重新引入了它,他们已经忘记了它的那一部分,因此不可能以可接受的格式呈现长语句。

这不是个好主意。空格是空格,不是语法。

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

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