<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Mon, Jul 21, 2025 at 10:24 AM Paul Winalski <<a href="mailto:paul.winalski@gmail.com">paul.winalski@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">.. </span> that is why I've always considered the comments to be an integral part of the code, and when doing code reviews I've refused to approve code changes where the comments are too sparse or where the comments don't match the code.</div></div></blockquote><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">Amen. </font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff"><br></font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">I've mentioned this to Paul before, but Mary Shaw's trick from the old CMU sophomore software engineering course was spot</font></span><span style="color:rgb(0,0,255);font-family:arial,helvetica,sans-serif"> on.  You were 3-4 person teams, and the entire class was working on the same project [when I took it, we were building an airline ticketing and equipment reservation system].  <span class="gmail_default" style="font-family:arial,helvetica,sans-serif">The first part required each team to write a specification for the project (which was collected and compared/graded against one that TAs had written).</span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"> Then the TA gave everyone their "common" spec, which your team started to program for the first part of their spec.  Then, two weeks later, the TA handed over your codebase</span> to another team (and you<span class="gmail_default" style="font-family:arial,helvetica,sans-serif"> were given the</span> code <span class="gmail_default" style="font-family:arial,helvetica,sans-serif">from</span> another team<span class="gmail_default" style="font-family:arial,helvetica,sans-serif"> still</span>).   This <span class="gmail_default" style="font-family:arial,helvetica,sans-serif">process </span>was repeated over the 12 weeks, 4 or 5 times<span class="gmail_default" style="font-family:arial,helvetica,sans-serif"> as each part of the project was completed.</span></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff"><br></font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">You were not allowed to use your code base; instead, you had to build on the base provided by the TA for each section. [There was an escape clause of going to the TA if the code you got was a disaster, but then you got a different group's code, and you just lost time working on the earlier version - so it was easier/faster to fix any bugs you found].</font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff"><br></font></span></div><div><font color="#0000ff"><span class="gmail_default" style="font-family:arial,helvetica,sans-serif">People never wanted to be cursed by their classmates.   The first thing you always did was do a code review and then run both the tests you had been given and your own against the base to see what you had. </span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"> As a result, the students learned to write </span><span class="gmail_default" style="">code that was clean, well-tested, and properly commented and documented,</span><span style="font-family:arial,helvetica,sans-serif"> because their peers would be reviewing and depending on it. If you were serious, you certainly did not want to get a reputation for writing crap.</span></font></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff"><br></font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">The sad part is that I believe CMU discontinued that course a few years ago, because the graduate student TAs hated it. It could be a tremendous amount of work for them.</font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff"><br></font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">BTW: IIRC that course was when I had a future Turning Award winner as well as someone else who would make a name in the Multics community as programming partners.</font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff"><br></font></span></div><div><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><font color="#0000ff">Clem</font></span></div></div></div>