Да, целесообразно называть аргументы даже в прототипах.
Как правило, все ваши прототипы хранятся в заголовочном файле, и заголовок может быть единственным, что ваши пользователи когда-либо смогут проверить. Таким образом, наличие значимых имен аргументов является первым уровнем документации для вашего API.
Аналогично, комментарии о том, что делают функции (не то, как они реализованы, конечно), должны идти в шапке вместе с их прототипами.
Хорошо написанный заголовочный файл может быть самой важной частью вашей библиотеки!
Как любопытно, постоянство аргументов - это деталь реализации. Поэтому, если вы не изменили аргументную переменную в своей реализации, only поместите const
в реализацию:
/* Header file */
/* Computes a thingamajig with given base
* in the given number of steps.
* Returns half the thingamajig, or -1 on error.
*/
int super_compute(int base, int steps);
/* implementation file */
#include "theheader.h"
int super_compute(const int base, int steps)
{
int b = 2 * base;
while (--steps) { b /= 8; } /* no need for a local variable :-) */
return -1;
}