2

根据我使用 Ruby 的经验,将格式(如 YAML、JSON、XML、SASS 等)解析/转换为对象的库通常只有一个方法,涵盖从读取文件到解析,通常命名为load, load_file,等(此外,他们通常有一个方法只解析预先读取的字符串,通常命名为decode, parse. 等)

另一方面,在将对象转换为目标文件格式时,此类库很少有一个单一的方法来涵盖从转换到写入目标文件的过程。通常,它们只有一个只进行转换的方法,通常命名为、 等encoderender并且必须使用另一种方法将结果字符串写入文件,例如File.write.

这种不对称的原因是什么?为什么写入文件需要额外的步骤?

4

1 回答 1

2

我猜这是因为错误处理。读数文件可能会在很多方面出错,但写入文件更容易出错。对于一个主要目的是解析必须处理文件写入的库来说,这似乎很愚蠢。我不知道为什么这些库甚至包含文件读取和解析方法。

此外,一旦您需要访问文件写入和读取方法的任何选项,包含这些方法的库也是无用的。那么库包含一个传递给文件方法的选项参数,现在代码只是一个不清楚的混乱。

那是我的2美分。

于 2013-09-29T14:26:41.947 回答