Me encuentro con este problema mucho. Por ejemplo, actualmente escribo una función de lectura y una función de escritura, y ambas verifican si bufes un puntero NULL y si la modevariable está dentro de ciertos límites.
Esto es duplicación de código. Esto se puede resolver moviéndolo a su propia función. ¿Pero debería? Esta será una función bastante anémica (no hace mucho), más bien localizada (por lo tanto, no tiene un propósito general), y no se sostiene bien por sí sola (no puede entender para qué la necesita a menos que vea dónde está) usado). Otra opción es usar una macro, pero quiero hablar sobre las funciones en esta publicación.
Entonces, ¿deberías usar una función para algo como esto? ¿Cuáles son los pros y los contras?