Giter Site home page Giter Site logo

Comments (5)

aardappel avatar aardappel commented on July 19, 2024

I must say, that sounds like a very specific use case, not sure if that fits TreeSheets. What do you use it for?

from treesheets.

vo1stv avatar vo1stv commented on July 19, 2024

Seriously?
I will leave the vo1stv branch there for your future consideration.
I'm not sure how GitHub suggests handling refactoring of code, but while I love your application I am not married to the coding style you use, esp using headers for code, structs for classes, auto instead of strong types, and public fields for everything.
IMHO software should have axioms: blocks of code with no dependencies upon which behavioral and structural architectures can be built. Your coding style flies in the face of that philosophy. However your product is ideally suited for a literate programming style that embraces it. You are a conundrum.

from treesheets.

aardappel avatar aardappel commented on July 19, 2024

Not sure if serious, since you haven't explained me your use case.

As for your code complaints, I guess we disagree. My code can use a lot of improvement, yes, but not in the ways you think. Creating code with few dependencies is a myth, any sufficiently complex software will have dependencies no matter how you structure it. Data-hiding instance variables does nothing in most cases. Most of the things you mention only have a superficial effect on code quality. I like to keep things simple. Trying to aggressively obey rules of object oriented programming creates code that is more complex, not less.

For the total functionality of TreeSheets, the code is actually of low complexity, regardless of how much it flies in the face of what you get taught in school. Most important concerns are handled in one place.

from treesheets.

vo1stv avatar vo1stv commented on July 19, 2024

Not sure how you want the use case explained. I've hinted that it is about using the application for literate programming. A complete use case would include a specific example, and I'm working on that, but it looks like other things may take priority for the next few days.

I agree that the code is lightweight and navigable. I've added the features I needed quickly, but my original question still stands: "any suggestions for how to preserve this data (i.e. a numeric tag) when inserting children or wrapping the cell in a parent?".

As for my comments regarding coding style, they come from my work experience more so than school. There is an old saying that "an unexamined life is not worth living." Similarly maybe "unrefactored code is not worth sharing." Dialog and fitness for use ultimately impose a structure on things.

from treesheets.

aardappel avatar aardappel commented on July 19, 2024

Ok. Well, until then I don't see how "assigning a numeric id to nodes" is something generically useful.

I'm not sure how you get the idea that this is un-refactored code. In fact, I care deeply for refactoring, moreso than abstraction. We probably just disagree on how code ideally should be structured. I like to keep things simple, without unnecessary layers of abstraction.

Like I said, there's probably plenty of examples of code that can be improved. Why don't you find what you think is currently the worst bit of code in TreeSheets, refactor it and send a PR. Chances are if it indeed cleans up the code I'll happily accept it. That's more productive than hinting at the code not being up to par.

from treesheets.

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.