Я использую стороннее приложение с открытым исходным кодом, которое делает что-то, что мне кажется странным. Я хотел бы услышать ваше мнение о том, считаете ли вы, что это неправильно/зло/мерзость/т. Д., Или если есть какая-то оправданная причина для этого.Использование #include для включения разделов кода
Проще говоря, они используют #include pre-proc директивы для включения «заголовочных файлов», которые содержат фрагменты кода. Не прототипы функций. Не встроенные функции. Просто разделы кода.
Вот простой пример. Сначала main.cpp файл:
#include <iostream>
//Other "normal" includes here...
int main(int argc, char *argv[]) {
cout << "Initializing program..." << endl;
#include "parseArgs.h"
// ... remainder of the program
cout << "Exiting." << endl;
return 0;
}
И в файле заголовка parseArgs.h, небольшой фрагмент кода. Обратите внимание, что это точно и только то, что находится в файле parseArgs.h. Это не является частью функции. Там нет включают охрану, только следующие 4 строки:
argList args(argc, argv);
if(!args.valid()) {
cout << "Invalid arguments.";
exit(1);
}
В реальной программе, есть несколько из этих #include директив, с каждым из них делает еще одну небольшую задачу.
Это кажется опасным и сумасшедшим. Я не знаю, почему они не пишут и называют их функциями.
Ваши идеи и мнения?
Thanks, Maddie.
Я не думаю, что это особенно опасно, но звучит безумно и труднее поддерживать. –
Я бы не рекомендовал его, так как он делает код трудным для отслеживания и поддержки, но в этом нет ничего технически. –
Обычно люди используют функции и подобные вещи для повторного использования кода ... – PlasmaHH