ループの終了判定には色々な方法があって、最後にもう1回Stepが足されるかどうかは処理系による
個人が趣味で書く「動けばいい」コードなら何やっても自由だけど、それを他人にも薦めるのは問題がある

実験して結果を確認とか、一番やっちゃいけないレベル
仕様書を見れば、いちいち実験なんかしなくても結果は予測できる

もちろん仕様書にもミスはあるけど、ミスを完全になくすのは不可能だから、
そのミスがきちんと認知されていれば問題ない