Tôi đang cố gắng tìm hiểu cách xử lý nhiều nội dung, và vẫn giữ mã của tôi gọn gàng.Thu thập thông thường bao gồm trong một tệp duy nhất - thực hành tốt?
Tôi đang lập trình ứng dụng Qt và tôi đã đặt tệp thường được sử dụng (và điều đó không thay đổi) trong tệp có tên "Util.h".
Util.h
#pragma once
#include <Core/IObserver.h>
#include <Core/Math.h>
#include <QAction>
#include <QDockWidget.h>
#include <QFileDialog>
#include <QGraphicsBlurEffect>
#include <QLabel.h>
#include <QMainWindow.h>
#include <QMenu.h>
#include <QMessageBox.h>
#include <QShortcut.h>
#include <QSignalMapper>
#include <QSound>
#include <QString>
#include <QTimer.h>
#include <QTreeView>
#include <QStandardItemModel>
// Path to icons
#define ICON_PATH \
"../../Assets/GUI/Icons/"
này tôi sau đó bao gồm nó trong hầu hết các tập tin tiêu đề của tôi
#include "Util.h"
#include "Manager_Docks.h"
#include "Manager_Tools.h"
#include "Manager_Console.h"
#include "ui_MainWindow.h"
...
- Có cách nào tốt hơn để làm việc đó?
- Điều này có làm chậm thời gian biên dịch nhiều không?
Tôi cũng đang nghĩ đến việc chỉ bao gồm Util.h trong mỗi cpp chỉ, và có một riêng biệt Header_Util.h cho các tập tin tiêu đề, tìm kiếm một cái gì đó như thế này
Header_Util .h
#pragma once
class IObserver;
class QAction;
class QDockWidget;
class QFileDialog;
...
- đây có phải là một giải pháp tốt hơn?
- Ngoài ra, tôi biết rằng có một cái gì đó gọi là các tiêu đề được biên dịch trước, nhưng chưa bao giờ sử dụng bản thân mình. Đây có lẽ là một giải pháp cho vấn đề của tôi và một cái gì đó tôi nên xem xét? Tôi đang ở trên Windows sử dụng VS2012 nếu điều đó tạo ra bất kỳ sự khác biệt nào.
- ... và tóm tắt tất cả các câu hỏi. Bạn sẽ làm gì ở chỗ tôi?
Nó giúp khi bạn sử dụng các tiêu đề được biên dịch trước. VS2012 tận dụng lợi thế của nó. – Elazar
Bạn có đặt các tiêu đề được biên dịch trước trong cả hai .h và .cpp hoặc cpp không? Làm thế nào bạn sẽ làm điều đó trong các tập tin tiêu đề sau đó? – Adelost
Nó có thể khiến bạn phải xây dựng lại thường xuyên hơn. –