Ký hiệu Hungary là một sai lầm khủng khiếp, trong bất kỳ ngôn ngữ nào. Bạn cũng không nên sử dụng nó trong C++. Đặt tên cho các biến của bạn để bạn biết chúng là gì. Không đặt tên cho chúng để sao chép thông tin kiểu mà IDE có thể cung cấp cho bạn dù sao, và có thể thay đổi (và thường là không liên quan anyway.Nếu bạn biết rằng một cái gì đó là một truy cập, sau đó nó không quan trọng cho dù đó là một int16, 32 hoặc 64. Bạn biết rằng nó hoạt động như một truy cập, và như vậy, bất kỳ hoạt động đó là hợp lệ trên một quầy nên hợp lệ. Đối số tương tự cho các tọa độ X/Y. Chúng là tọa độ. Nó không quan trọng nếu họ đang nổi hoặc tăng gấp đôi. Nó có thể có liên quan để biết liệu một giá trị có ở đơn vị trọng lượng, khoảng cách hoặc tốc độ không. Nó không quan trọng đó là một phao.).
Thực tế, ký hiệu Hungary chỉ xuất hiện như một sự hiểu lầm. Nhà phát minh đã dự định sử dụng nó để mô tả loại "khái niệm" của một biến (có phải là toạ độ, chỉ mục, bộ đếm, cửa sổ không?)
Và những người đọc mô tả của ông cho rằng " nhập "anh ấy có nghĩa là loại ngôn ngữ lập trình thực tế (int, float, zero-terminated string, char pointer)
Đó không bao giờ là ý định, và đó là một ý tưởng khủng khiếp. Nó sao chép thông tin mà IDE có thể cung cấp tốt hơn, và đó không phải là tất cả những gì có liên quan ở nơi đầu tiên, vì nó khuyến khích bạn lập trình ở mức trừu tượng thấp nhất có thể.
Vậy tại sao? Tôi có phải là người duy nhất có m_strExePath
hoặc m_iNumber
trong mã C# của tôi?
Không may là không. Hãy cho tôi biết, điều gì sẽ exePath
là nếu nó không phải là một chuỗi? Tại sao tôi, với tư cách là người đọc mã của bạn, cần phải biết rằng đó là một chuỗi? Không đủ để biết rằng đó là con đường dẫn đến thực thi? m_iNumber
chỉ được đặt tên kém. số nào là là số này? Nó là cái gì? Bạn vừa mới nói với tôi hai lần rằng đó là một con số, nhưng tôi vẫn không biết ý nghĩa của con số đó là gì.
Trùng lặp? http: // stackoverflow.com/questions/659552/why-should-or-shouldnt-i-prefix-fields-with-m-in-c –