2

有没有指南可以让我阅读断线规则以保持在列内?

我有以下代码,我的边距设置为 80 个字符(以便在我打印时适合 A4 页面):

IDictionary<string, object> columns = new Dictionary<string, object>(1);

括号正好落在第 80 列。那么,我应该像这样分解它:

IDictionary<string, object> columns = new Dictionary<string, object>
    (1);

或这个:

IDictionary<string, object> columns = new Dictionary
    <string, object>(1);

或这个:

IDictionary<string, object> columns =
    new Dictionary<string, object>(1);

或任何其他方式?我宁愿不增加保证金。

谢谢。

4

2 回答 2

3

一行 80 个字符不是法律 - 很高兴。这里最好的选择是:

var columns = new Dictionary<string, object>(1);

永远不要破坏类型名称、泛型参数和左括号(如果你有很多参数,可以继续下一行)。因此,还有选项(最好的选项 - 忘记大约 80 个字符并将所有字符放在一行中):

IDictionary<string, object> columns = new Dictionary<string, object>(1);

和(如果行真的很长)

IDictionary<string, object> columns = 
        new Dictionary<string, object>(1);

或拆分分配和声明

IDictionary<string, object> columns;
columns = new Dictionary<string, object>(1);
于 2012-11-09T23:44:27.800 回答
2

这实际上是个人喜好和惯例的问题。

如果您必须拆分,我的偏好将是您的最后选择:

IDictionary<string, object> columns =
    new Dictionary<string, object>(1);

我之所以这么说,是因为其他选项都在表达式的中间拆分-在第一种情况下,您将构造函数参数拆分为它们自己的行,而第二种情况是将类型定义拆分为两行。在这种情况下,整个语句(带参数的构造函数)保持在一起。

话虽这么说,我可能不会把这个分开。我可能会让它流血超过 80 个字符(通常这并没有什么问题)。

于 2012-11-09T23:44:38.593 回答