=== on 7 Jul 2015, 13:38:24 Tamas Vajk wrote:
\[~ann.campbell.2] This rule should not be only about complete method or loop bodies. It can be partial as well:

----
public void AnyMethod()
{
  CallSomeOtherMethod1();
  CallSomeOtherMethod2();
  CallSomeOtherMethod3();
  if (someCondition)
  {
    CallSomeOtherMethod4();
    CallSomeOtherMethod5();
  }
}
----
can be converted to

----
public void AnyMethod()
{
  CallSomeOtherMethod1();
  CallSomeOtherMethod2();
  CallSomeOtherMethod3();
  if (!someCondition)
  {
    return;
  }

  CallSomeOtherMethod4();
  CallSomeOtherMethod5();
}
----
If the last statement in a method or loop is an ``++if++`` we can do this transformation. (And as a consequence if the only statement in a method is an ``++if++``, we can also do it.)

=== on 8 Jul 2015, 14:22:14 Ann Campbell wrote:
see what you think now [~tamas.vajk]

=== on 20 Jul 2015, 11:47:59 Tamas Vajk wrote:
\[~ann.campbell.2] Should we add that the code block needs to contain at least two statements? (That's how R# works)


So: 

----
public void MyMethod()
{
  if (condition) //compliant, has only one statement inside
  {
    DoSomeThing();
  }
}
public void MyMethod2()
{
  if (condition) //noncompliant
  {
    DoSomeThing();
    DoSomeThingElse();
  }
}
----

=== on 20 Jul 2015, 13:56:09 Ann Campbell wrote:
I've added explicit text to that effect & beefed up the example [~tamas.vajk]

