-
Notifications
You must be signed in to change notification settings - Fork 0
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
implement spec as v1.0 #9
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only took a look at the rules.py file for now since that's the one which has the only completed function (?). Only one comment. I also added docstrings to everything.
This reverts commit a294b66. It wasn't a typo, but I can reword if needed
Thanks for the review. I removed most of the docstrings you added, since they mostly seemed to be AI-generated boilerplate with a lot of confusing info, which also made it much harder to read the actual code. It's also in a private module, which we won't be generating documentation for. I've retained a more complete docstring on the When we're adding docstrings to the public modules I'd prefer to make them small and concise, and to use the Sphinx RST format. Sphinx should also be able to infer the types from our type hints. |
I disagree re private functions should not have docstrings. They may not matter to a user of the library but as a developer of the library I find them very helpful. Otherwise I'm not sure what the function is meant to be doing.
Small and concise does not read well IMO. Documentation should be written in human-readable language so that its easier to understand, I find that short/terse sentences puts burden on the reader. The Sphinx text makes sense. |
You're right that docstrings can be good if they add necessary information, however, the function/parameter names and type hints should already give most of that information IMO, and it becomes very difficult to see the context of the code when every private function starts with 10-20 lines of documentation. Documentation in a public API file, on the other hand, doesn't interfere with the code in the same way.
I think it's important to keep everything DRY and information dense. The shortest sentence to describe something, while including all the necessary info, would be the best sentence, IMO. In the case of a public API it would be important to explain everything the user needs to know, and more text can be used, since it's meant as more of a specification, but in our private module code I think it's extra important to not repeat ourselves and be concise. |
I'm making sure to add a short docstring to private functions (that need it) from now on, as I can see the value it provides when doing a cold reading, but I'd like to avoid it taking up more than one line/sentence per function. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- We should document the type of errors that a function can raise since that's not available in the function signature.
Done. I was only raising a single error type, and it always happened in |
waiting for the rest of the implementation before merge. |
having the option to use 'all' for tables would complicate the implementation since schema parsing becomes dependent on the tables that exist in the input-data
cli: default to excel outfmt for multi-csv
caused by: 38b0ebd "cli: default to excel outfmt for multi-csv"
to complement file paths. This makes it possible to use the library completely in-memory without the need for IO.
add support for file objects as input
fix support for headers with special characters
No description provided.