Đặt tên các lớp và giao diện liên quan


9

Tôi đã tạo một ObjectParserlớp phân tích dữ liệu thành các đối tượng được gõ mạnh bằng cách sử dụng IObjectParserDataSourcelàm nguồn dữ liệu (dữ liệu có thể là tệp Excel, tệp văn bản, mảng, chuỗi truy vấn, v.v.).

Ví dụ về việc triển khai của IObjectParserDataSourcetôi là:

  • TextFileObjectParserDataSource
  • ExcelFileObjectParserDataSource

Những tên lớp này cảm thấy thực sự dài và gây khó chịu cho tôi.

Tôi có thể đặt tên cho chúng:

  • TextFileDataSource
  • ExcelFileDataSource

Nhưng điều này giới thiệu một mức độ mơ hồ và chúng không trở nên liên quan rõ ràng với IObjectParserDataSourcecái nhìn đầu tiên. Điều này trở nên quan trọng vì việc xác định các nguồn dữ liệu này sẽ xảy ra trong mã máy khách và tôi muốn giảm thiểu sự nhầm lẫn và sự không chắc chắn tiềm ẩn.

Làm thế nào bạn sẽ đặt tên cho các lớp này trong một kịch bản như vậy?


1
Tôi không nghĩ rằng tên hiện tại của bạn quá dài và hỗn độn.
AakashM

Tôi đang ném ý tưởng này ra khỏi đó, nhưng tôi không khuyến nghị nó: Nếu bạn sử dụng cùng một chuỗi (chẳng hạn như "ObjectParserDataSource") trong cách đặt tên của bạn, hãy viết tắt nó. ExcelFileOPDS, TextFileOPDS. Nó tiết kiệm một chút về cách gõ và không gian màn hình, nhưng nó không rõ ràng đối với người không quen thuộc với mã.
Bobson

Câu trả lời:


22

Tôi thường cố gắng khắc phục vấn đề này bằng cách dán tất cả các đối tượng tương tự vào một không gian tên và đơn giản hóa tên của chúng (nếu tôi có thể làm điều đó).

Ví dụ, sẽ có

không gian tên ObjectParserDataSource
|
| -> lớp TextFileSource
| -> lớp ExcelFileSource

Hoặc, nếu bộ sưu tập các đối tượng làm việc với / phục vụ ObjectParserđủ lớn, tôi sẽ tạo một cây thư mục hoặc dự án riêng dành riêng cho ObjectParser:

namespace ObjectParser
|
|-> class ObjectParser
|-> interface IObjectParserDataSource
|
|-> namespace DataSources
|   |
|   |-> class TextFileSource
|   |-> class ExcelFileSource
|
|-> other stuff...

Trong bất kỳ tệp đã cho nào, các câu lệnh nhập và ngữ cảnh mã thường sẽ làm cho nó khá rõ ràng đó TextFileSourceObjectParsernguồn dữ liệu. Nếu có nhiều lớp được đặt tên tương tự trong cùng một đoạn mã, bạn có thể tham chiếu TextFileSourcetheo tên đầy đủ của nó:

var parserSource = new ObjectParser.DataSources.TextFileSource(/*...*/);

Nó thường xảy ra rất hiếm khi và tôi không ngại gõ thêm vài từ.


1
Bạn đã tiết kiệm cho tôi thời gian gõ câu trả lời tương tự :)
Michael Brown

1
+1. Giải pháp này cải thiện khả năng đọc mà không làm giảm sự rõ ràng.
John Cartwright
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.