• bitcrafter@programming.dev
    link
    fedilink
    arrow-up
    5
    ·
    8 hours ago

    Hey now, you should be thanking your teachers for this incredibly valuable early life lesson on the difference between what the customer says that they want and what they actually need, and which of these two you are going to get paid more for!

    Remember: the customer is always right!

    /s

  • BougieBirdie@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    43
    ·
    17 hours ago

    Most of my college coursework was around OOP. That said, they actually did a pretty lousy job of explaining it in a practical sense, so since we were left to figure it out ourselves a lot of our assignments ended up looking like this.

    At the end of the program, our capstone project was to build a full stack app. They did a pretty good job simulating a real professional experience: we all worked together on requirements gathering and database design, then were expected to build our own app.

    To really drive home the real world experience, the professor would change the requirements partway through the project. Which is a total dick move, but actually a good lesson on its own.

    Anyway, this app was mostly about rendering a bunch of different views, and something subtly would change that ended up affecting all views. After the fact, the professor would say something to the effect of “If you used good objects, you’ll only have to make the change in one place.”

    This of course is only helpful if you really appreciated the power of OOP and planned it from the start. Most of us were flying by the seat of our pants, so it was usually a ton of work to get those changes in

    • Kache@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      3 hours ago

      If you used good objects, you’ll only have to make the change in one place

      IMO that’s generally a retroactive statement because in practice have to be lucky for that to be true. An abstraction along one dimension – even a good one, will limit flexibility in some other dimension.

      Occasionally, everything comes into alignment and an opportunity appears to reliably-ish predict the correct abstraction the future will need.

      Most every other time, you’re better off avoiding the possibility of the really costly bad abstraction by resisting the urge to abstract preemptively.

  • fl42v@lemmy.ml
    link
    fedilink
    arrow-up
    14
    ·
    19 hours ago

    But answer07 is an object… Not sure what your teacher/ta disliked 😆

    • Matty_r@programming.dev
      link
      fedilink
      arrow-up
      17
      ·
      19 hours ago

      I presume WeatherData.getData() should be going into some Data class that has multiple properties (using the , as a delimiter) instead of what OP is doing and just using the String

      • fl42v@lemmy.ml
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        edit-2
        18 hours ago

        I mean, unless it’s explicitly specified, one can still argue. For fun, that is. I did it a few times with stuff like using maps when the task said I couldn’t use loops. Didn’t really get into trouble since there was a proper solution ready as well.

    • Hellfire103@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      19 hours ago

      Oh, I haven’t handed it in yet. We were supposed to write our own methods.