Giả sử tôi có một trait
trong Scalaquy ước đặt tên Scala của các tính trạng
trait Connection {
def init(name: String)
def dispose
}
Và tôi muốn tạo ra một lớp mà thực hiện nó. Nhưng tôi muốn đặt tên nó là Connection
cũng:
class Connection extends Connection {
// ....
}
Nó sẽ không hoạt động. Tất nhiên, tôi có thể đặt tên là trait
một cái gì đó khác, nhưng hóa ra là quy ước đặt tên ở Scala nói rằng tôi nên đặt tên là đặc điểm, nghĩa là không có tiền tố, tôi sẽ sử dụng trong C# (IConnection
trong đó IConnection
sẽ là interface
) .
Và trong trường hợp cụ thể này, tên là Connection
cho số class
và trait
phù hợp hơn.
Hay tôi đã bỏ lỡ điều gì đó trong quy ước đặt tên của Scala?
Tôi nghĩ tùy chọn 1 là phổ biến nhất trong thực tế. Tùy chọn 2 là khó hiểu khi bạn đang đọc mã. – monkjack
@monkjack Đúng vậy; Nó có thể cảm thấy như lặp lại cùng một thông tin nhưng mặt khác bạn không thể mong đợi tất cả các nhà phát triển có tất cả bối cảnh gói của tất cả các loại trong đầu của họ – AlexG