フラグの管理
プログラムを書く時に悩むことはいろいろとありますが、その中の1つ、フラグの数が多くなってきた時の管理にも頭を使います。if( joutaiA ) { shori1(); }else{ shori2(); } |
if( joutaiA ) { if( joukenB ) { shori3(); }else{ shori1(); } }else{ shori2(); } |
if( joukenB && joukenC ) { shori4(); }else{ if( joutaiA ) { if( joukenB ) { shori3(); }else{ shori1(); } }else{ shori2(); } } |
if( joukenB && joukenC ) { shori4ret = shori4(); // 処理4を行い、結果をshori4retに代入する if( shori4ret == OK ){ joukenC = FALSE; // 処理4が成功したら条件Cを偽に }else{ joukenB = FALSE; // 処理4が失敗したら条件Bを偽に } }else{ ・・・ // (*) } |
if( joukenB && joukenC )
{
shori4ret = shori4();
if( shori4ret == OK ){
joukenC = FALSE;
}else{
joukenB = FALSE;
}
}
if( !(joukenB && joukenC) ) // (*2)
{
・・・
}
|
shori4ret = NOT_RUN; if( joukenB && joukenC ) { shori4ret = shori4(); if( shori4ret == OK ){ joukenC = FALSE; }else{ joukenB = FALSE; } } if( shori4ret != OK ) { if( joutaiA ) { if( joukenB ) { shori3(); }else{ shori1(); } }else{ shori2(); } } |