Là phương thức hoặc tên biến của tôi quá dài? [đóng cửa]


15

Vì vậy, tôi hiện đang ở giữa mã hóa, thật không may cho tôi, tôi đã ở trong "Khu vực" sau đó tôi tự nghĩ, liệu tên phương thức / biến của tôi có dài không?

POP ra khỏi khu tôi đi!

Vì vậy, tôi đến đây để hỏi, có phải tên phương thức / biến của tôi quá dài không? Bạn là Thẩm phán! Điểm thưởng cho bất cứ ai có thể tìm ra những gì tôi đang viết, mặc dù tôi chắc chắn rằng một đạo sư sẽ tìm ra nó nhanh chóng!

Dù sao, đây là một số tên phương thức và biến của tôi.

Các phương thức: searchBlockedListForBlockedSquares (), isCienSapesNextToAtLeastOneBlockedSapes (), searchBlockedListForBlockedSquares ()

Các biến: isNextToBlockedSquares;

Tôi đoán chỉ có một biến có vẻ quá dài.


Câu trả lời:


31

Tên của bạn có vẻ ổn đối với tôi về chiều dài. Tuy nhiên, cách chúng được đặt tên cho thấy rằng có thể một số lớp mới theo thứ tự?

Ví dụ, thay vì searchBlockedListForBlockedSquares()bạn có thể có blockedList.getBlockedSquares(). Tương tự, isCurrentSquareNextToAtLeastOneBlockedSquare()trở thành currentSquare.isAdjacentToABlockedSquare().


Liền kề là từ tôi đang tìm kiếm! Cảm ơn bạn =)
Bryan Harrington

@Bryan: Bạn được chào đón. :)
Adam Lear

11

Tôi tin vào tên biến mô tả ngay cả khi điều đó có nghĩa là tên biến dài. Và với việc intellisense trở nên phổ biến hơn, tôi không tin rằng nó ảnh hưởng nhiều đến năng suất.

Tôi ghét chữ viết tắt vì chúng gần như không thể sử dụng nhất quán. Thêm vào đó, chúng có thể mơ hồ và chúng làm cho mọi thứ khó đọc hơn. Ngay cả khi chúng là một phần của tiêu chuẩn, tôi cũng không thích chúng. Ngoài ra, khi nói đến nó, họ không xóa nhiều chữ cái đó trừ khi bạn viết tắt nhiều. Và viết tắt rất nhiều giết chết dễ đọc.

Vấn đề lớn nhất mà các tên dài giới thiệu là các dòng mã có thể trở nên dài bao nhiêu. Gọi một hàm với một tên dài và truyền cho nó hai hoặc ba tên biến dài có thể tạo ra một dòng mã dài. Do đó, tôi cố gắng giữ tên của mình càng ngắn càng tốt, tôi muốn có tên mô tả ngay cả khi nó có nghĩa là gói dòng hoặc cuộn.

Nhìn vào tên ví dụ của bạn, thực tế là tất cả kết thúc với BlockedSquares khiến tôi nghĩ rằng một phần của tên có thể là dư thừa. Trên thực tế, điều đó cũng có nghĩa là các mục này có thể được gói gọn trong lớp riêng của chúng, có thể được đặt tên là BlockedSquares. Sự thay đổi đó làm cho tên ngắn hơn một chút.


5

Tên biến là độ dài sai khi không mô tả rõ ràng mục đích của nó. Điều đó áp dụng cho quá ngắn hoặc quá dài.

Tên biến ngắn và ngắn gọn có thể mơ hồ hoặc tệ hơn không có mối quan hệ với biến đó là gì. Trong những ngày được giải thích BASIC, chúng tôi đã bị người phiên dịch giới hạn ở hai tên nhân vật. Rất khó để đưa ra những cái tên có ý nghĩa trong một chương trình lớn. Tên biến chữ cái đơn thường được sử dụng cho vòng lặp và bộ đếm, nhưng tôi nghĩ chúng nên được tránh bằng cách khác. for (i = 0; i < 10; i++) {...}sử dụng ivà đó là khá phổ biến. jlà một tên biến phụ.

Tên biến dài quá dài khi chúng trở nên dài dòng hoặc đầy từ trống, làm cho chúng dài hơn cần thiết. Nếu tôi có một loạt các biến có tên tương tự, tôi sẽ cố gắng loại bỏ các phần phổ biến có thể phân tán và giữ các phần xác định duy nhất của các tên.

Tôi đã đặt tên " isCurrentSquareNextToAtLeastOneBlockedSquare" cho currentSquareNextToBlockedSquare?, nếu tôi đang làm điều đó trong Ruby.

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.