フラグの管理
プログラムを書く時に悩むことはいろいろとありますが、その中の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();
}
}
|