Open perfectGenius opened 6 months ago
int /* sum */ sum(int a, int b)
типа того что ли? Кажется существующих языковых выразительных средств уже достаточно. IDE умеют вытаскивать doxygen комментарии во всплывающие подсказки.
int /* sum */ sum(int a, int b)
Проверил в VS2022, не показывает.
doxygen
Кроме языка надо ещё учить целую отдельную систему, просто отлично. И даже с существованием таких средств Visual Studio почему-то мне не показывает, что printf() возвращает количество напечатанного. Т.е. есть какая-то причина, почему они не стали стандартом. Всё это выглядит костылями, хотя имя возвращаемого для меня кажется фундаментальной частью языков наравне с именами параметров.
Имя функции описывает имя возвращаемого значения. Если это не так, то возвращаемое значение - не самое главное в функции и читайте что-то за пределами кода
Если вам нужна гибкость и информативность используйте структуры для описания сложных, настраиваемых функций или функций с контекстами:
struct adc {
unsigned a,b,c; // input
unsigned r,f; // output
adc& run() { // body
r=a+b+(c&1); f=0;
unsigned s=~(~((unsigned)0)>>1);
if (r<a || r<b) f|=1;
if ((a&s)==(b&s) && ((a&s)!=(r&s))) f|=2;
return *this;
}
unsigned result() const { return r; }
bool unsigned_overflow() const { return f&1; }
bool signed_overflow() const { return f&2; }
};
#include <stdio.h>
int main(int argc, char const *argv[]) {
unsigned smax=~((unsigned)0)>>1;
printf("0x%08X\n",adc{smax,1,1}.run().result());
}
Язык позволяет давать имена параметрам, передаваемым функции, отчего достаточно в IDE навести курсор на функцию и увидеть их. Но, чтобы узнать что она возвращает, надо лезть в код функции или читать документацию. Но ведь было бы значительно удобнее узнавать таким же способом - наведением курсора в IDE. Варианты, где можно расположить имя возвращаемого:
int [код_ошибки] прочитать_файл_в_память(UINT начало, UINT конец) или return [код_ошибки] ФАЙЛ_ПУСТОЙ