• 0 Posts
  • 20 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle




  • It grinds my gears that sony software locked the ability to backup saves locally on the PS5 making a PS plus subscription the only way to have a backup of save games. I don’t play multiplayer and don’t play the monthly free games either so I have to pay a premium for the rest of my life to get a basic functionality that was present in ps4 but got nerfed for some dubious reasons in ps5. The recent ps plus price hike was the last straw so I ditched my PS and got into PC gaming and loving it so far.




  • On thinking about this a bit more, I feel like you may be expecting the system to handle situations where your business requirement needs the new field to be used now, but used to work without this field before. Based on the example you provided, I am imagining something like a getTasksForUser functionality which previously might have just been filtering on userId but if the business now says that this functionality should now return tasks sorted by priority, you expect the system to somehow know the business requirement and force the developer to use this new priority field ?

    If that’s what you’re hoping for, the problem is harder to solve although not impossible. Assuming the example as above , you could maybe just inject the priority field at the data access layer . Another way would be to make the modified entity private and expose a facade with helper functions that are exposed. Now when code that previously used to rely on the entity inevitably breaks , you can replace those usages with usage specific functions exposed from the facade and since the entity is now accessible only from the facade, you can easily update all usages within the facade and make sure no one can miss passing the priority field since the entity is private to the facade and all functions in the facade are known to use the new field.



  • I am still confused about what OP is looking for. Even in typescript, if a new field is added and not used in other places, compilation will fail. Unless OP explicitly marks the field as optional.

    There’s also the possibility that the codebase is littered with the “any” keyword (I’m not saying OP is doing it but I’ve definitely seen plenty of codebases that do this). If someone says they’re using typescript but their code is full of “any” keywords, they’re not using typescript. They’re just using plain JavaScript at that point.



  • In case you weren’t aware , you can disable internet in ps5 settings and launch the game and it won’t bother you. Had the same shit happen in AC Valhalla and it was so annoying turning internet off and on just to play this game. I would have been ok with this if at least the game worked the same after signing in but no … A whole class of online specific bugs started to show up ranging from stupid stutters to outright in game repeated popups whenever your player moves, it made the game unplayable so had to delete the whole game. I tried again later after a few months and the bug had been fixed so it was better but still had random stutters.