用于在Java / C#中调用同一对象上的多个方法的编码标准

时间:2013-02-25 09:12:23

标签: c# java coding-style

此代码段是否可以

StringBuilder builder = new StringBuilder();
builder.Append("Have a ");
builder.Append("nice day!");

这样写的更好吗?

  StringBuilder builder = new StringBuilder();
  builder.Append("Have a ")
         .Append("nice day!");

在C#和Java中,写一个更好的方法是什么?

1 个答案:

答案 0 :(得分:0)

第二个例子中的模式是“流畅的API”/“流畅的界面”;坦率地说,两者都不是严格更好 - 但如果第二个存在,那么不使用它可能效率稍低。在.NET IL术语中,第一种语法涉及每次迭代额外ldlocpop,第二种语法避免 - 但这很少有重大意义。要么工作正常。

就个人而言,除非您知道它处于性能关键位置,否则我会优化可读性和便利性。

确实,您可以使用:

string s = "Have a " + "nice day!";

编译器(在C#中,至少 - 我不知道java)将在编译时计算(因为它们都是常量)并编译为单个ldstr(自动实习) ,也是)。