Schleifen für Sensorabfrage

Das ist jetzt auch nur eine möglichst komplizierte if-Verzweigung, oder?

Nöö, das ist schon ganz ok so.

Würde bei mir auch kaum anders aussehen.

while (nss.available())
Solange serielle Daten anliegen

if (gps.encode(nss.read()))
Lese 1 Zeichen und verarbeite Eingabe

return true;
Vollständiger Datensatz wurde gelesen und für korrekt befunden

return false;
Es liegt noch kein vollständiger Datensatz zur Weiterverarbeitung bereit.

Man kann sich darüber in die Wolle bekommen, ob es "erlaubt" ist 2 Return in einer Funktion zu haben.
Oder ob einem der Einrückungsstil gefällt.
Aber sonst?

Wie würdest du es besser machen?