Also https://lemmy.world/u/Reader9

  • 8 Posts
  • 7 Comments
Joined 1 year ago
cake
Cake day: June 27th, 2023

help-circle
  • Reader9@programming.dev
    hexagon
    toProgramming@programming.devLemmy 0.19 updates
    ·
    9 months ago

    Time zones are an endless source of frustration, this one doesn’t sound too bad though:

    Going forward, all timestamps in the API are switching from timestamps without time zone (2023-09-27T12:29:59.113132) to ISO8601 timestamps (e.g. 2023-10-29T15:10:51.557399+01:00 or Z suffix). In order to be compatible with both 0.18 and 0.19, parse the timestamp as ISO8601 and add a Z suffix if it fails (for older versions).

    https://github.com/LemmyNet/lemmy/pull/3496





  • I am learning Python, R, and SQL

    SQL is an excellent skill to invest in. Even though your current role doesn’t allow you to use it, there’s no substitute when pulling data from a relational db.

    It sounds like you’re currently focused on data quality. Automatic data quality checks are common features of (good) data workflows so this could be spun as relevant experience if you end up seeking a role writing data transformation code.




  • Good point and I agree with the downsides. Giving admins more granular ways of hiding content sounds healthy.

    There’s also the important distinction between admins finding opinions on the other instance “disagreeable” and muting vs. illegal content in the instance server’s jurisdiction and those of the admins. Defederating the whole instance does seem harsh if the problem is within specific communities only and doesn’t deal with illegal content.

    Difficult problem!





  • Focusing on code coverage (which doesn't distinguish between more and less important parts of the code) seems like the opposite of your very good (IMO) recommendation in another comment to focus on specific high-value use-cases.

    From my experience it’s far easier to sell the need for specific tests if they are framed as “we need assurances that this component does not fail under conceivable usecases” and specially as “we were screwed by this bug and we need to be absolutely sure we don’t experience it ever again.”

    Code coverage is an OK metric and I agree with tracking it, but I wouldn’t recommend making it a target. It might force developers to write tests, but it probably won’t convince them. And as a developer I hate feeling “forced” and prefer if at all possible to use consensus to decide on team practices.


  • One aspect that does work is framing the need for tests as assurance that specific invariants are verified and preserved

    Agreed - this is the specific aspect which I hoped would be communicated by studying TDD a bit!

    The team is afraid that making changes will be more difficult when tests exist, but TDD (or maybe a more specific concept like you mentioned) demonstrates that tests make future changes easier.

    And I specifically advocated not to follow “write tests first”.

    Name-dropping concepts actually contributes to loose credibility of any code quality effort, and works against you.

    OK. If I were having an in-depth discussion with my team of fellow developers to convince them to start writing tests, I don’t think that’s name-dropping.


  • We can’t test yet, we’re going to make changes soon

    This could be a good opportunity to introduce the concept of test-driven development (TDD) without the necessity to “write tests first”. But I think it can help illustrate why having tests is better when you are expecting to make changes because of the safety they provide.

    “When we make those changes, wouldn’t it be great to have more confidence that the business logic didn’t break when adding a new technical capability?”

    You shouldn’t have to refactor to test something

    This seems like a reasonable statement and I sort of agree, in the sense that for existing production code, making a code change which only adds new tests yet also requires refactoring of existing functionality might feel a bit risky. As other commenters mentioned, starting with writing tests for new features or fixes might help prevent folks feeling like they are refactoring to test. Instead they’re refactoring and developing for the feature and the tests feel like they contribute to that feature as well.