Il link descrive un'API per enumerare le righe (costituite da diversi valori) di dati.
In questa API è possibile recuperare i valori dalla riga corrente e "saltare" alla riga successiva.
Secondo me, questo è un misdesign. Viola la regola della singola responsabilità: lo stesso oggetto è responsabile dell'enumerazione alla riga successiva e del recupero dei valori dalla riga. Sei d'accordo sul fatto che viola lo SRP?
Mi sembra che il progetto giusto sia quello di recuperare gli oggetti delle righe (che non sono elaborati nella versione attuale dell'API) e utilizzare gli oggetti riga per recuperare i valori.
A parte la singola responsabilità, quali altre regole (se esistenti) del buon software progettano questa API viola?
(Sto scrivendo i binding per questa API C nel linguaggio di programmazione Ada, quindi penso di avvolgerlo in un elaborato wrapper orientato agli oggetti.)