Đúng! Đúng! Đúng! Nó có ý nghĩa hoàn hảo để làm điều đó. Và tôi đã làm điều đó trong nhiều năm.
Tiết lộ 1: Tiếng Anh không phải là ngôn ngữ mẹ đẻ của tôi.
Tiết lộ 2: Kiến thức về ngữ pháp tiếng Anh của tôi tốt hơn đáng kể so với người bản ngữ trung bình.
Tiết lộ 3: Khi nói về giao tiếp với con người, tôi là một ngữ pháp kịch liệt của Đức quốc xã.
Và bây giờ khi những tiết lộ này không còn nữa, hãy để tôi nói rằng ngữ pháp tiếng Anh không có chỗ trong mã. Bạn thấy đấy, đó là lý do tại sao nó được gọi là mã chứ không phải văn xuôi . Nó được cho là có một số điểm tương đồng với ngôn ngữ được con người hiểu, với mục đích dễ đọc, nhưng ngoài ra, thứ chúng ta cần nhất từ mã không phải là phẩm chất của văn xuôi; đó là những phẩm chất kỹ thuật khác, như chính xác , không rõ ràng và căng thẳng . Đó là lý do cú pháp C if( x != y ) y++;
là nhiều thích hợp hơn để các IF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
cú pháp của Cobol. Sự mong muốn bị cáo buộc của các trình biên dịch hiểu ngôn ngữ tự nhiên là một lời ngụy biện và đừng hiểu ý tôi, hãy xem ol'Edsger nói gì về nó:Edsger W. Dijkstra, về sự ngu ngốc của "lập trình ngôn ngữ tự nhiên" .
Một chất lượng quan trọng khác là khả năng tính toán của các định danh . Việc một thuộc tính được gọi Color
luôn có thể được đọc thông qua một phương thức được gọi getColor()
và được viết thông qua một phương thức được gọi setColor()
là rất quan trọng. Các định danh này có thể tính toán được từ tên của tài sản, vì vậy bạn không cần phải biết chúng bằng trái tim. Nếu một lập trình viên chọn một cặp phương thức được gọi getColor()
bằng một mặt, nhưng colorize()
mặt khác, các đồng nghiệp của họ sẽ xem xét chính xác sự phá hoại này. Đó là cách tính toán định danh quan trọng.
Ngoài ra, các công cụ lập trình có thể được viết (và thực tế rất nhiều trong số chúng đã được viết, ví dụ, Hibernate ) có thể tính toán các tên này. Nếu không có khả năng tính toán tên định danh, bạn sẽ phải sử dụng cú pháp bổ sung (ví dụ: trong Hibernate, chú thích thêm) để chỉ định chính xác cho từng công cụ cách tạo từng tên định danh duy nhất hoặc chính xác tên ad hoc mà bạn đã đặt cho mỗi thực thể.
Vì vậy, khả năng tính toán định danh rất quan trọng, đồng thời ngữ pháp tiếng Anh không liên quan, (vì chúng tôi không làm lập trình ngôn ngữ tự nhiên), vì vậy để có thể tính toán tên của một tập hợp các thực thể bằng cách luôn thêm "s" vào tên của một trường hợp duy nhất có ý nghĩa hoàn hảo, không bao giờ bận tâm đến thực tế rằng nó vi phạm hầu hết mọi người (bao gồm cả tôi) nhạy cảm ngôn ngữ tiếng Anh.
Và dù chúng ta có thích hay không, đây là xu hướng của tương lai. Ngôn ngữ bản địa của phần lớn các lập trình viên trên hành tinh không còn là tiếng Anh nữa, và xu hướng là tiếp tục rất mạnh mẽ theo hướng này. (Ngoài ra, tôi thậm chí sẽ không sẵn sàng đặt cược tiền vào đề xuất rằng tiếng Anh là ngôn ngữ mẹ đẻ của phần lớn các lập trình viên làm việc tại Hoa Kỳ ngay bây giờ.) Đây là những người, ở một mức độ lớn, khi cố gắng tính toán tên của một bộ sưu tập từ tên của một ví dụ duy nhất của "công ty", sẽ chỉ thêm một "s" và mẫu "công ty" thậm chí sẽ không xuất hiện trong đầu họ. Đối với một tỷ lệ lớn các nhà lập trình trên thế giới ngày càng tăng, kiến thức về đặc thù của ngôn ngữ tiếng Anh không thêm bất kỳ giá trị nào vào công việc của họ, nó chỉ làm cho nó khó hơn một chút.