-
-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consider switching to standard .NET naming/code conventions. #18
Comments
Hi Darrell, Thanks for your question. You're exactly right. The driver almost feels like it has a split stylistic personality. I'll explain the reasons behind it. There is a proverbial line in the sand and it exists between:
Regarding No.1First, the ReQL AST / Query Terms (mostly everything inside I also thought about maintaining a The win here is, anytime the RethinkDB team changes the Java driver. It's relatively easy to just pull down some intermediate .json files, plug them into the C# driver and regenerate the AST and YAML tests. Additionally, (and a huge win) is we get free ReQL documentation (complements of the Java driver). The ReQL virtually translates 1-to-1 between Java and C#. Regarding No.2Second, the supporting infrastructure around ReQL, like connections, all have implementations _similar to_ but different enough from Java. These implementations aren't public, so idiomatic .NET/C# was used. Additionally, the Java driver currently doesn't support multi-threading while the C# driver does. I felt it was really important for the C# driver to support multi-threading out of the box. This driver would most likely be used in server applications like ASP.NET where multiple threads can hit the driver at any given time. Hence, the SummaryDeclaring a type reference to an If you have any other thoughts or concerns, please feel free to comment. Or, if I've answered your questions we can close the issue. Thanks, |
Also, you mentioned there were some Java getter and setter methods. Which getter/setter methods are you referring to? Documentation for the internal changes can be found here: |
Hi @DarrellBailey, It's been a few days, how is it going? Still using the driver? Do you still feel strongly about the naming convention of the ReQL API? Do you have anymore thoughts? If not, I'd like to close the issue in a few days. |
No you answered my question fully and succinctly. Forgive my late response. This is good stuff! Thanks for all your work! |
Hi @DarrellBailey , so we finally moved to .NET naming conventions for the public ReQL AST and public Connection APIs. Pretty much, anything public should be following good o'le .NET naming conventions. Here's a quick example:
Going forward, anything after PS. Anonymous Type Optional Arguments still use |
Is there any particular reason the standard java naming conventions were maintained in the port? Was this for consistency or sameness with the java driver?
In some places the driver seems to embrace some c# features, such as with async/await. However, in other places the driver still feels extremely Java-like, such as the use of getter and setter methods instead of properties.
Is documentation available on where the line in the sand is being drawn for what is being altered in the port and what is not?
The text was updated successfully, but these errors were encountered: