if a=b then
SomeOldStatement
else
AnotherStatement;
次のように書く必要があります
if a=b then
begin
SomeOldStatement;
end
else
begin
AnotherStatement;
end;
これで、SomeOldStatement をコメントアウトできます。まさにあなたが求めている効果で、デバッガーはコードの流れをより正確にたどり、コードのような奇妙な副作用を回避します
if a=b then
if b=c then
statement1
else
if c=d then
statement2;
else
statement2
else
statement3;
インデントを台無しにして、セミコロンを間違えて、テスト用の行を文書化して、なんてこった、物事はすぐに醜くなります。
真剣に、ここに書いたばかりのコードがコンパイラ パスなしでも有効かどうかを調べてみてください。
さて、これで何が起こるかを推測してください:
if a=b then
if b=c then
statement1
else
if c=d then
statement2;
// else
statement2
else
statement3;
また:
if a=b then
statement1;
statement2;
多くの場合、奇妙なことを行うことができます。
if a=b then
// statement1;
statement2;
深刻です - すべてのロジックで常に開始と終了を行う習慣を身につけてください - コードを追跡しやすくし、副作用を回避し、精神的な解析エラーを回避し、コード解析エラーを回避し、副作用をコメントアウトします。
さらに、空の begin/end はノーオペレーションと同じです。