Làm thế nào tôi nên đánh dấu các loại trong chương trình C và C ++?


12

Trong câu trả lời này của tôi , tôi đã sử dụng _tở cuối các loại, kết thúc tốt nhất, gây tranh cãi. Đây là thực tế tôi sử dụng trong các dự án hiện tại của tôi.

typedef struct {
    int x;
    int y;
} point_t;

Điều này được dự định phù hợp với các loại C từ stddef.hthích size_thoặc ptrdiff_t. Tuy nhiên, theo một số ý kiến ​​trong câu hỏi của tôi, _tpostfix dường như được dành riêng cho POSIX. Tôi nên sử dụng gì thay vì _t? Hay tôi vẫn nên tiếp tục sử dụng _t?

Câu hỏi này dành cho cả C và C ++. Nếu những ngôn ngữ này có những quy ước khác nhau, hãy trả lời như vậy.


2
Một quy ước phổ biến là có các tên lớp mà LookLike This. Tại thời điểm đó, bạn thậm chí không cần hậu tố. (Điều này phổ biến hơn cho Java, .net, v.v. Nhưng nó cũng hoạt động trong C ++.)
cHao

1
cuối cùng đây là một dạng ký hiệu Hungary. Và cuộc thảo luận đó là vô tận. Tôi cho một người chống lại nó bây giờ và đi với giải pháp của cHao. Tại sao? Bởi vì tôi đã sử dụng ký hiệu Hungary trong khoảng 4 năm cho tất cả mọi thứ, sau đó quyết định thực hiện một dự án mà không có nó và không bỏ lỡ nó. Và đã không lãng phí thời gian cho nó. Vì vậy, tôi đã bỏ nó hoàn toàn vì nó, rõ ràng, không có giá trị nào đối với tôi. Và tôi không bao giờ nhìn lại.
Stijn

1
Xem câu hỏi này để biết số nhận dạng dành riêng (bao gồm _t) stackoverflow.com/a/228797/14065
Martin York

Câu trả lời:


16

Không có sự đồng thuận trong cộng đồng C và C ++ liên quan đến các kiểu đặt tên.

Mặc dù _thậu tố thực sự được bảo lưu bởi POSIX , một số người sẽ ủng hộ sử dụng _thậu tố cho các loại của riêng bạn, trong khi những người khác cũng kiên quyết lập luận rằng bạn không nên cám dỗ số phận bằng cách mạo hiểm tên trùng với POSIX.

Các quy ước đặt tên thay thế đề nghị sử dụng tiền tố cho các loại, chẳng hạn như Choặc T.


16

Tôi thấy hậu tố khá xấu và vì vậy tránh _t... Một cách khác là sử dụng chữ in hoa để bắt đầu tên loại, vì vậy Pointtrong ví dụ của bạn ở trên.


3
và tôi thấy thật tuyệt khi có một kiểu KHÁC BIỆT từ các loại C tiêu chuẩn, vì vậy đọc mã bạn có thể dễ dàng tìm thấy những gì từ chương trình máy khách và API là gì
Nikko

1
Cũng là kỹ thuật yêu thích của tôi. Các loại có một chữ cái viết hoa ban đầu. Tất cả các định danh khác không phải là loại và do đó dễ dàng nhìn thấy.
Martin York

Tôi luôn nghĩ rằng nó trông cũng khá xấu xí. Thật tốt khi thấy người khác đồng ý với tôi.
syb0rg

Tôi chỉ sử dụng PascalCase cho các loại con trỏ (Vì các ngôn ngữ như C # và Java trong đó PascalCase có nghĩa là lớp, tức là tham chiếu đến dữ liệu) nhưng tôi biết bạn đến từ đâu.
YoYoYonnY

1

Nó phụ thuộc vào bạn. Trừ khi có mâu thuẫn với những từ dành riêng mà bạn tốt để đi. Tuy nhiên, hãy xem xét một kịch bản mà bạn đang làm việc trong một công ty và nhiều người đang truy cập vào cùng một cơ sở mã và mã của bạn sẽ nhận được một người không biết về thói quen của bạn. Anh ấy / cô ấy có thể cho rằng đó là một loại dành riêng, đặc biệt là nếu bạn viết một cái gì đó như point_t. Vì vậy, giữ cho nó đơn giản hơn, ví dụ như điểm đơn giản hơn point_t. Và nếu bạn muốn thêm một cái gì đó vào nó, hãy thêm tên viết tắt của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.