Có quy ước đặt tên chung nào để phân biệt các chuỗi được phân bổ và không được phân bổ không? Những gì tôi đang tìm kiếm hy vọng là một cái gì đó giống như chúng ta
/S
từ Làm mã sai trông có vẻ sai , nhưng tôi thích sử dụng thứ gì đó phổ biến hơn là tự làm.
Quy ước us/s trong bài viết có phần hữu ích nhưng lại bỏ sót một điểm quan trọng hơn. Vấn đề là các quy ước đặt tên biến chỉ có tác dụng tốt trong việc ngăn ngừa sai sót như tài liệu.
Ví dụ:
#Phiên bản 1
char* sHello = "Xin chào";
printf("%s\n", sXin chào);
Sửa đổi cuối cùng là
#Phiên bản 2
char* sHello = "Xin chào";
... 100 dòng mã ...
sXin chào = realloc(sXin chào, strlen(sXin chào)+7);
strcpy(sHello+strlen(sHello), "World");
... 100 dòng mã ...
printf("%s\n", sXin chào);
Bạn không thể dựa vào một số quy ước đặt tên tùy tiện (vâng, tất cả đều tùy ý) khi bạn thực sự muốn quy ước mã hóa của mình hoạt động. Bạn phải sử dụng một phương pháp không thành công trong quá trình xây dựng để hỗ trợ quy ước đặt tên này. Trong ví dụ trên, hãy sử dụng từ khóa một cách khôn ngoan const
Nó có thể phục vụ mục đích, nhưng các quy ước mã hóa có thể khiến mọi người tự mãn khi nghĩ rằng nó đúng vì nó được đặt tên theo một cách nhất định.
Một lần nữa, đây là một vấn đề về tài liệu, cuối cùng thì tài liệu trong mã không đồng bộ với mã, các quy ước đặt tên trong mã sẽ không đồng bộ với việc sử dụng các tên đó.
Bây giờ, nếu bạn muốn thêm thông tin đã nhập vào C (đó là những gì bạn muốn), hãy xem qua một hệ thống thực sự thêm các loại vào C typedef
để hoàn thành. Sau đó, thiết lập một hệ thống có thể xác minh rằng loại này không được sử dụng khi cần và khiến quá trình xây dựng bị lỗi. Thực tế, bất kỳ điều gì khác sẽ khiến bạn tốn quá nhiều chi phí cho việc tìm kiếm/bảo trì/dọn dẹp và một nửa thời gian bạn triển khai một kiểu mã hóa thậm chí còn tệ hơn một kiểu mã hóa tồi.
Tôi là một lập trình viên xuất sắc, rất giỏi!