Giter VIP home page Giter VIP logo

Comments (3)

stoewer avatar stoewer commented on August 22, 2024

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.

jgrewe avatar jgrewe commented on August 22, 2024

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.

stoewer avatar stoewer commented on August 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.