Comments (3)
Although naming of methods could be improved for some cases, is disagree in this respective case:
The current naming scheme for getters and setters of a property foo
is:
footype foo() const // getter
void foo(footype f) // setter
This applies perfectly to the positions
and extents
of the class DataTag
, which is not a many-to-many but a simple one-to-many relation ship which is defined on the one-side (the DataTag
) as a simple property:
DataArray DataTag::positions() const // getter
void DataTag::positions(DataArray da) // setter
What may be confusing in this case is the plural in the name. But this is also correct because the one data array represents many positions. The same is true for the extents.
However, there are some other things that are not so nice about the positions and extents: IMO the following methods could be removed:
void DataTag::extents(const string&)
bool DataTag::hasExtents()
void DataTag::positions(const string&)
bool DataTag::hasPositions()
from nix.
ups, you are right about the setter and the getters (which are done in the way) but removing a reference is something different from really deleting an object from the file. And these are not consistently named in Block, File, and probably somewhere else, well they are called removeSomething ...
The question is do we name them "removeXYZ" or "deleteXYZ". IMO the question is not about setters and getters and not about unnecessary methods in some classes
from nix.
I completely agree that it would be good to rename the current removeFoo
methods to deleteFoo
in cases where an object is really deleted from the file. This should be the case for the following methods:
bool File::removeSection(const string&)
bool File::removeBlock(const string&)
bool Section::removeProperty(const string&)
bool Section::removeSection(const string&)
void Property::removeValues()
bool Block::removeSource(const string&)
bool Block::removeDataArray(const string&)
bool Block::removeSimpleTag(const string&)
bool Block::removeDataTag(const string&)
bool DataArray::deleteDimension(size_t id)
bool DataTag::removeRepresentation(const string&)
bool SimpleTag::removeRepresentation(const string&)
Please review the method list, create a new issue containing the reviewed list and close this one.
from nix.
Related Issues (20)
- Port to C++17
- Optimize reading of old style values
- Add UUIDs to File objects HOT 1
- UTF-8 for strings
- DataView should check the dimensionality of offset and count HOT 3
- Bump file format version HOT 1
- MultiTag: Convenience constructor that doesn't require DataArray HOT 1
- Reorganise documentation HOT 2
- Wildcard tagging
- Build fails with Boost 1.71 HOT 2
- Tagging DataArrays with different dimenisionalities HOT 3
- Tag extent behaviour [discussion] HOT 1
- Functions for Column Dimensions HOT 3
- DataFrame: need API to query number of colums without fetching the column
- DataFrame: need API to get a single column
- Update Appveyor configuration
- Tag data retrieval specification HOT 2
- Dimensions with linking for ticks and labels
- outdated wiki information HOT 2
- new h5py version doesn't support numerical event labels HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nix.