声明换行符结束

时间:2015-03-12 21:52:57

标签: line-breaks language-design

我目前正在尝试使用编程语言。几个月前我定义了基本语法并编写了一个非常简单的解析器。今天我想继续这个项目,但是在很短的时间之后,语法就让我感到困扰。

声明的结尾

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

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会遇到什么样的问题(作为语言的用户)?
  • 使用换行符或分号我必须接受哪些语言功能限制?

3 个答案:

答案 0 :(得分:1)

  • 我希望,对于大多数人来说,换行符更容易阅读
  • 使用换行符会导致很长行的可读性问题
  • 我不知道如何对其他人施加任何限制

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

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

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