Giả sử tôi đã tuyên bố một chức năng (hoặc lớp học, không quan trọng) trong một tập tin tiêu đề, mà là một phần của không gian tên foo:Thực tiễn tốt nhất: sử dụng không gian tên hoặc không gian mở lại?
namespace foo
{
void bar();
…
}
Trong một thời gian dài tôi đã mở lại namespace khi tôi đã xác định hàm trong tệp cpp:
namespace foo
{
void bar()
{
doSomething();
…
}
}
Đó là vì tôi đã học theo cách này và được sử dụng trong dự án mà tôi đang làm. Tôi chưa bao giờ thực sự nghĩ về nó cho đến gần đây, khi tôi tình cờ gặp một dự án sử dụng chỉ thị sử dụng thay thế:
using namespace foo;
void bar()
{
doSomething();
…
}
Cuối cùng có tùy chọn sử dụng tên đầy đủ. Tôi thấy nó khá tẻ nhạt, đặc biệt là khi các lớp học với rất nhiều thành viên có liên quan. Theo tôi, nó không có ý nghĩa nhiều khi tất cả nội dung của tập tin là một phần của một không gian tên.
void foo::bar()
{
doSomething();
…
}
Vì vậy, câu hỏi của tôi là câu hỏi nào nên được ưa thích và tại sao? Đặc biệt là liên quan đến hai lựa chọn đầu tiên (sử dụng không gian tên so với không gian mở).
Tôi cho rằng đó là vấn đề sở thích cá nhân.Bản thân tôi sử dụng kết hợp cả hai lựa chọn đầu tiên và cuối cùng của lựa chọn thay thế của bạn. –
Tôi đồng ý rằng đó là vấn đề sở thích cá nhân. 'foo :: bar' là lặp đi lặp lại nhưng greppable, mặc dù điều đó có thể không liên quan nếu mọi người chỉ tìm kiếm nguồn của bạn bằng IDE. –
Nó giống như hỏi xem nó tốt hơn để sử dụng các tab hoặc 4 không gian. ** Đừng đổ mồ hôi những thứ nhỏ. ** :) – LihO