<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>I have no strong feelings. 3.(a) looks nice to me.  If the first ".append" is too long you could also do:</div>
<div><br>
</div>
<div>
<div style="font-family: Calibri; font-size: medium;">
<div><font face="monospace,monospace">return certName</font></div>
<div><font face="monospace,monospace">  .append(signingIdentity)</font></div>
<div><font face="monospace,monospace">  .append("KEY")</font></div>
<div><font face="monospace,monospace">  .append(keyName.getSubName(signingIdentity.size()))</font></div>
<div><font face="monospace,monospace">  .append("ID-CERT")</font></div>
<div><font face="monospace,monospace">  .appendVersion();</font></div>
<div><font face="monospace,monospace"><br>
</font></div>
</div>
</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu">shijunxiao@email.arizona.edu</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, March 11, 2015 at 16:17<br>
<span style="font-weight:bold">To: </span>Jeff Thompson <<a href="mailto:jefft0@remap.ucla.edu">jefft0@remap.ucla.edu</a>><br>
<span style="font-weight:bold">Cc: </span>nfd-dev <<a href="mailto:nfd-dev@lists.cs.ucla.edu">nfd-dev@lists.cs.ucla.edu</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [Nfd-dev] code-style "make incompleteness of split lines obvious" vs chained operations<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">Dear folks
<div><br>
</div>
<div>Thanks JeffT for pointing out this snippet.</div>
<div>I have more questions about the alignment.</div>
<div>(for the example, let's assume two .append() calls cannot fit on the same line)<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>1. Why not align '.append' of subsequent lines (rule 3.23), given the part before it ("certName") is short?</div>
<div><br>
</div>
<div>
<div><font face="monospace,monospace">certName.append(signingIdentity)</font></div>
<div><font face="monospace,monospace">        .append("KEY")</font></div>
<div><font face="monospace,monospace">        .append(keyName.getSubName(signingIdentity.size()))</font></div>
<div><font face="monospace,monospace">        .append("ID-CERT")</font></div>
<div><font face="monospace,monospace">        .appendVersion();</font></div>
</div>
<div><font face="monospace,monospace"><br>
</font></div>
<div>I feel this looks better than indent subsequent lines with two spaces.</div>
<div><br>
</div>
<div><br>
</div>
<div>2. What if "certName" is a shorter identifier?</div>
<div><br>
</div>
<div>(a)</div>
<div><br>
</div>
<div>
<div>
<div><font face="monospace,monospace">n.append(signingIdentity)</font></div>
<div><font face="monospace,monospace">  .append("KEY")</font></div>
<div><font face="monospace,monospace">  .append(keyName.getSubName(signingIdentity.size()))</font></div>
<div><font face="monospace,monospace">  .append("ID-CERT")</font></div>
<div><font face="monospace,monospace">  .appendVersion();</font></div>
</div>
</div>
<div><font face="monospace,monospace"><br>
</font></div>
<div>(b)</div>
<div><br>
</div>
<div>
<div>
<div><font face="monospace,monospace">n.append(signingIdentity)</font></div>
<div><font face="monospace,monospace"> .append("KEY")</font></div>
<div><font face="monospace,monospace"> .append(keyName.getSubName(signingIdentity.size()))</font></div>
<div><font face="monospace,monospace"> .append("ID-CERT")</font></div>
<div><font face="monospace,monospace"> .appendVersion();</font></div>
</div>
</div>
<div><font face="monospace,monospace"><br>
</font></div>
<div>I feel (b) looks better.</div>
<div><br>
</div>
<div>3. Suppose there's a 'return' in the front, how should I align subsequent lines?</div>
<div><br>
</div>
<div>
<div>(a)</div>
<div><br>
</div>
<div>
<div><font face="monospace,monospace">return certName.append(signingIdentity)</font></div>
<div><font face="monospace,monospace">  .append("KEY")</font></div>
<div><font face="monospace,monospace">  .append(keyName.getSubName(signingIdentity.size()))</font></div>
<div><font face="monospace,monospace">  .append("ID-CERT")</font></div>
<div><font face="monospace,monospace">  .appendVersion();</font></div>
</div>
<div><font face="monospace,monospace"><br>
</font></div>
<div>
<div>
<div>(b)</div>
<div><br>
</div>
<div>
<div><font face="monospace,monospace">return certName.append(signingIdentity)</font></div>
<div><font face="monospace,monospace">       .append("KEY")</font></div>
<div><font face="monospace,monospace">       .append(keyName.getSubName(signingIdentity.size()))</font></div>
<div><font face="monospace,monospace">       .append("ID-CERT")</font></div>
<div><font face="monospace,monospace">       .appendVersion();</font></div>
</div>
</div>
</div>
</div>
<div>
<div><br>
</div>
<div>
<div>
<div>(c)</div>
<div><br>
</div>
<div>
<div><font face="monospace,monospace">return certName.append(signingIdentity)</font></div>
<div><font face="monospace,monospace">         .append("KEY")</font></div>
<div><font face="monospace,monospace">         .append(keyName.getSubName(signingIdentity.size()))</font></div>
<div><font face="monospace,monospace">         .append("ID-CERT")</font></div>
<div><font face="monospace,monospace">         .appendVersion();</font></div>
</div>
</div>
<div>
<div>
<div>(d)</div>
<div><br>
</div>
<div>
<div><font face="monospace,monospace">return certName.append(signingIdentity)</font></div>
<div><font face="monospace,monospace">               .append("KEY")</font></div>
<div><font face="monospace,monospace">               .append(keyName.getSubName(signingIdentity.size()))</font></div>
<div><font face="monospace,monospace">               .append("ID-CERT")</font></div>
<div><font face="monospace,monospace">               .appendVersion();</font></div>
</div>
</div>
<div><br>
</div>
<div>I'd prefer (d).</div>
</div>
</div>
</div>
<div>(a) and (c) also look nice, in case (d) would exceed column limit.</div>
<div>(b) is worse than (a) and (c).</div>
<div><br>
</div>
<div>Yours, Junxiao<br>
</div>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Wed, Mar 11, 2015 at 4:06 PM, Thompson, Jeff <span dir="ltr">
<<a href="mailto:jefft0@remap.ucla.edu" target="_blank">jefft0@remap.ucla.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div>ndn-cxx already has plenty of code with the first option. This looks good to me. For example:</div>
<div><a href="https://github.com/named-data/ndn-cxx/blob/34a37630a14c67309467074b448057dbf62cda65/src/security/key-chain.cpp#L338" target="_blank">https://github.com/named-data/ndn-cxx/blob/34a37630a14c67309467074b448057dbf62cda65/src/security/key-chain.cpp#L338</a></div>
<div><br>
</div>
<div>
<p style="margin:0px;font-size:12px;font-family:Menlo">certName.append(signingIdentity)</p>
<p style="margin:0px;font-size:12px;font-family:Menlo">  .append(<span style="color:rgb(197,156,156)">"KEY"</span>)</p>
<p style="margin:0px;font-size:12px;font-family:Menlo">  .append(keyName.getSubName(signingIdentity.size()))</p>
<p style="margin:0px;font-size:12px;font-family:Menlo">  .append(<span style="color:rgb(197,156,156)">"ID-CERT"</span>)</p>
<p style="margin:0px;font-size:12px;font-family:Menlo;color:rgb(215,57,30)"><span style="color:rgb(0,0,0)">  .appendVersion()</span>;                                                                                                                     </p>
</div>
<div><br>
</div>
<div>- Jeff T</div>
<div><br>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</span>
</body>
</html>