2009-02-26 27 views

Trả lời

10

Một số lo ngại:

  • Tại sao bạn có các biến nào?

  • Mã định danh bắt đầu bằng _ và __ được dành riêng cho thư viện hệ thống. Trong thực tế, điều này không quan trọng lắm, nhưng thật tuyệt khi được nhận thức.

Với những điều đó cho biết, không có gì sai khi tạo quy ước đặt tên, bất kể giao diện đó như thế nào. Chỉ cần nhất quán.

+1

+1 cho mẹo nhất quán. Bạn có thể có quy ước đặt tên tồi tệ nhất bao giờ hết, nhưng nếu nó nhất quán, nó sẽ cải thiện khả năng bảo trì mã. – Spidey

0

Giả sử bạn đang làm việc với C++, câu trả lời của tôi là KHÔNG. Nó hoàn toàn hợp lý, nhưng bạn sẽ thực sự dính vào quy ước đó.

Tuy nhiên, các ngôn ngữ được nhập tĩnh như C# giả định các quy ước đặt tên như vậy sẽ hơi dư thừa.

Cá nhân tôi nghĩ rằng nó xấu xí, nhưng nó không rõ ràng nơi mà một biến đến từ trong C + + như vậy đường có thể giúp đỡ.

2

Mọi người đều có sở thích riêng của mình theo như quy ước đặt tên có liên quan. Tôi muốn nói rằng nhiều người hơn sẽ đồng ý không có bất kỳ biến công cộng nào trong một lớp học.

5

Điều tương tự cũng xảy ra với C++ và Java: bạn không cần bất kỳ ký hiệu hungarian nào cũng như bất kỳ tiền tố/hậu tố nào. Bạn có từ khóa "this"!

class MyClass { 
    private: 
     int value; 

    public: 
     MyClass(int value) { 
      this->value = value; 
     } 
} 

Tất nhiên trong ví dụ này đơn giản bạn có thể (nên) sử dụng danh sách khởi tạo constructor;)

Vì vậy, thay vì sử dụng bất kỳ ký hiệu vụng về chỉ sử dụng khả năng ngôn ngữ của. Khi bạn biết tên biến thành viên của mình - bạn biết rằng nó là hoàn hảo. Tại sao bạn sẽ làm xáo trộn nó bằng "_"?

Đối với việc sử dụng cùng tên cho các thành viên công cộng và tư nhân: suy nghĩ hoàn toàn sai lầm này! Tại sao một người cần hai thứ để đại diện cho cùng một lớp trong cùng một lớp? Làm cho nó riêng tư, đặt tên nó hoàn hảo và cung cấp cho getters và setters công khai.

+0

"this" là một con trỏ trong C++. –

+0

Phải. Sẽ chính xác! –

2

Bạn không nên sử dụng tên bắt đầu bằng dấu gạch dưới hoặc chứa dấu gạch dưới kép. Những tên được dành riêng cho trình biên dịch và thực hiện. Bên cạnh đó hạn chế, bạn có thể sử dụng bất kỳ quy ước đặt tên bạn và nhóm của bạn thích. Cá nhân, tôi ghét bất kỳ hình thức ký hiệu "Hungary" nào và cũng không thích ký hiệu m_something. Nó thực sự làm phiền tôi rằng nếu tôi cần phải thay đổi kiểu của một biến tôi cần phải cập nhật tên của nó ở khắp mọi nơi nơi nó xảy ra. Đó là một nhức đầu bảo trì.

0

Có nhiều quy ước C + + ở đó. Điều quan trọng là tìm một và/hoặc điều chỉnh một. Gắn bó với nó, và nhất quán. Nếu bạn đang làm việc ở đâu đó, hãy cố gắng giảm bớt nhiều công ước được đặt ra. Có rất nhiều cái ở đó, và mỗi cái có đối số tốt, nhưng chúng có thể mâu thuẫn nhau (Joint Strike Fighter, Bell Labs, Mozilla, vv)

Nếu có các quy ước khác nhau giữa các phần khác nhau của dự án , ít nhất hãy làm cho mỗi tập tin nhất quán trong chính nó, và các tệp .cpp và .h phải nhất quán với nhau.

Tôi tìm thấy nó tốt hơn để có thể hiểu mã được viết bởi các quy ước khác nhau để bạn có thể dễ dàng thích ứng với môi trường làm việc mới nhanh hơn

Các vấn đề liên quan