行拆分规则

时间:2012-11-09 23:41:02

标签: c#

是否有指导我可以阅读断线规则以保持在列内?

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

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

parantheses落在第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);

还是其他任何方式?我不想增加保证金。

感谢。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:2)

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

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

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

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

话虽如此,我可能不会将此分开。我可能会让它流过80个字符(通常没有任何问题)。

相关问题