I just added another third-party component to my .net project, which contains a class called Client, and it made me think about the names of ordinary classes.
Do you call your public classes as common as you are Client, or are you trying to make it more specific?
In the past, I would say that I Clientwas fine, as it can always be explicitly accessed through its namespace ( Company.Product.Client), but MS seems to adhere to more descriptive class names in the .net framework, such as WebClient, TcpClientand SmtpClient.
I think the type names MessagePub.Clientlook pretty neat, but MessagePub.MessagePubClientmuch smaller, but then having a lot of them Clientfloating around also seems pretty messy.
All of these third-party components that I use are actually open source, so it is recommended that you reorganize and change the class names to something more descriptive to make my code more readable, or is access through their namespace better? Or is it just not important ?:-)
source
share