• Aux@feddit.uk
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    5 hours ago

    They are extremely useful for software development. My personal choice is locally running qwen3 used through AI assistant in JetBrains IDEs (in offline mode). Here is what qwen3 is really good at:

    • Writing unit tests. The result is not necessarily perfect, but it handles test setup and descriptions really well, and these two take the most time. Fixing some broken asserts takes a minute or two.
    • Writing good commit messages based on actual code changes. It is a good practice to make atomic commits while working on a task and coming up with commit messages every 10-30 minutes is just depressing after a while.
    • Generating boilerplate code. You should definitely use templates and code generators, but it’s not always possible. Well, Qwen is always there to help!
    • Inline documentation. It usually generates decent XDoc comments based on your function/method code. It’s a really helpful starting point for library developers.
    • It provides auto-complete on steroids and can complete not only the next “word”, but the whole line or even multiple lines of code based on your existing code base. It gets especially helpful when doing data transformations.

    What it is not good at:

    • Doing programming for you. If you ask LLM to create code from scratch for you, it’s no different than copy pasting random bullshit from Stack Overflow.
    • Working on slow machines - a good LLM requires at least a high end desktop GPU like RTX5080/5090. If you don’t have such a GPU, you’ll have to rely on a cloud based solution, which can cost a lot and raises a lot of questions about privacy, security and compliance.

    LLM is a tool in your arsenal, just like other tools like IDEs, CI/CD, test runners, etc. And you need to learn how to use all these tools effectively. LLMs are really great at detecting patterns, so if you feed them some code and ask them to do something new with it based on patterns inside, you’ll get great results. But if you ask for random shit, you’ll get random shit.

    • Evotech@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      5 hours ago

      It’s also pretty good at explaining what a function does or why something is where it is. Good for navigating large codebases or working on something you don’t normally work on