question about return;

adwsystems:
You can use the return statement in that manner.

Why not turn the if statement around and if (second != lastSecond) {}?

The advantage is you don't have to find or notice the statement in the middle of the subroutine that "aborts" execution. The subroutine will execute all the way to the end every time, but only execute inside the if statement if the criteria is met.

One of my personal rules for programming or program architecture is not to program in a way that I will have to figure out or remember how I did two-four-six months from now or at 2am on Saturday morning when the phones rings and somebodies production line is down (in the case of work).

Would it matter if I initialise like this:

static byte lastSecond = 0;

or like this:

static byte lastSecond;