-
Notifications
You must be signed in to change notification settings - Fork 20
Meeting minutes
Agenda:
- Unilateral merge branches still around. Delete after reviewing
- Functions that modify groups take them as const& arguments? Semantic nonsense.
- Increase coverage as much as possible whenever you touch upon some subset of code.
- Guidelines for documentation: be clear and concise, minimize required reading for user.
- Order of arguments for free node functions should be partly reversed?
- Enable create intermediate?
- flag magic for property lists?
- Default global policies? For example, if I want UTF8 everywhere, must I clutter my code with temporary property lists where otherwise one-liners would rule?
- Criteria for major release?
- String I/O still needs improvements
Agenda:
naming convention for setters/getters?
relative paths to allow ".."?
Maybe we should have something like this
node::Node get_node(const node:Node &base,const Paths &path,
std::string separator = "..");
node::Dataset base = ....'
node::Group base = root.create_group("../../../data");
node::Node n = get_node(base,"../../sample");
node::Node n = get_node(base,"#&/#&/sample", "#&");
More sugar?
Attendees: Eugen, Jonas, Martin
Discussed reading/writing interface. Thinnest layer is to for Datasets to have functions that accept data by reference along with Dataspace objects. A good option is to have a Selection class that can be easily constructed (with initialization lists) and allows us to hide the Dataspace objects completely. Another option is to use functors on Datasets that temporarily apply selections and then have assignment operators accept the writing of data, however this makes for an asymmetric interface, e.g. can't do reading as easily.
Decision: implement thinnest layers first. Experiment and see what needs may arise for other interfaces.
Decision: create wiki page and have everyone provide some samples of how they would imagine a good interface.
Attendees: Eugen, Jonas, Martin
Decided to keep track of decisions here on github's wiki.
Eugen is nearly done with utilities classes (types, property lists). Should be done later this week. Martin volunteers to help by reviewing and making comments using github's issues tracker.
For now, focus is on the primitive data types and strings. Compound types and enums, as something we don't need for nexus, are deferred for later development. Work on node types (groups, datasets, files) should start next week. Template functions in conjunction with traits are used throughout our API to facilitate insertion of custom types without invasive changes to the library itself.
ESS is providing Jenkins compile nodes for testing. Test coverage reporting should also be available in the near future.