And you have to look. And try. Or you get bugs like apple's recent embarassment:
Since debugging is essential "test in a way that enables you to figure out WHAT is wrong", this is a problem :-(
I wouldn't be inclined to spend much time on such a thing though - there are many posters that make it clear that they didn't read Nick's existing sticky so adding more stuff that will be ignored isn't a very appealing prospect.
4. if(a ==1) digitalWrite(pin1,a); else if( a == 0) digitalWrite(pin1,a); if it is not true , it must be false - it is digital
if (a == 1) digitalWrite(pin1, a);else if (a == 0) digitalWrite(pin1, a);else Serial.println("Uh oh! Invalid state. (a = %u)", a);
digitalWrite(pin1, a); // Why test the value at all?