• 0 Posts
  • 23 Comments
Joined 1 year ago
cake
Cake day: June 16th, 2023

help-circle

  • Same, I always remember this with interfaces and inheritance, shoehorned in BS where I’m only using 1 class anyway and talking to 1 other class what’s the point of this?

    After I graduated as a personal project i made a wiki for a game and I was reusing a lot of code, “huh a parent class would be nice here”.

    In my first Job, I don’t know who’s going to use this thing I’m building but these are the rules: proceeds to implement an interface.

    When I have to teach these concepts to juniors now, this is how I teach them: inheritance to avoid code duplication, interfaces to tell other people what they need to implement in order to use your stuff.

    I wonder why I wasn’t taught it that way. I remember looking at my projects that used this stuff thinking it was just messy rubbish. More importantly, I graduated not understanding this stuff…








  • At work we have a lot of old monolithic OOP PHP code. Dependency injection has been the new way to do things since before I started and it’s basically never used anywhere.

    I assume most people just find it easier to create a new class instance where it’s needed.

    I’ve never really seen a case where I think, “dependency injection would be amazing here” I assume there is a case otherwise it wouldn’t exist.












  • Yes but no. Modern PHP lets you put types in function signatures and it will then attempt to convert your inputs to those types at runtime.

    JS/TS and Python don’t do this. They have optional type annotations that’s treated as syntactic sugar. You can use static checkers against this but if you get an error like “expected string got int” you can still run the code. It won’t behave any differently because you have annotations.