I do not trust AI agents to run outside sandbox and use them only in dev container. I always use latest version available when I build container (once or twice a month). In my opinion it is to risky to allow auto update for SW which is released several times a week including weekends and is capable of/willing to do script kiddie pranks :-)
Well, OK, you do that. Many others don't. Not sure what your comment adds except saying "not everybody allows audo-update" which is IMO redundant and obvious.
Those tools actually save team energy. Without them any programmer has different opinion on formating, code quality, what is readable etc. You can discuss it endlesly or you can just use ruff.
We can replace the endless and useless discussion on how to format code with an endless and useless discussion on what linting tool to use.
Another option would be to leave both topics alone and go on with our lives, improving the product, fixing bugs, implementing new features, and generally giving customers a better product and shareholders more value, while respectfully agreeing to disagree on the issues of style.
People tend to use tools set up in CICD and/or precommit. Without rules everyone uses their tool and is unwilling to compromise. Even if they are willing it is hard to setup tools to do exactly what you want. Default configuration is always the way.
So to the practical question: what we're gonna do today in CICD and/or precommit? "Default configuration is always the way" but which one: `ruff<0.16.0` or `ruff=0.16.0`?
I find it hard to look at ruff as at "other dependencies."
First, my other dependencies usually deliver something of value to the customer (and so I deliver my other dependencies to the end-user installation.) Second, when I need to change code to accommodate other dependencies, it is usually limited to a couple of files, sometimes to a couple of modules; this change will touch much, much more than that. Third, my other dependencies at least play nice by implementing semver and bumping a major release on a breaking change.
I also do not like if project stays on 0 version to break compatibility with every minor version. This is the problem with many rust tools and libraries. I think it is unfair to do that years after first release and with healthy community. But it is a tradeoff and not using ruff is in my opinion worse.
To your other issues, just do not upgrade. There is no need to upgrade everything a few days after release. I always lock ruff to version I like and upgrade whenever it is convenient.
I find it kinda amusing that we seem to have an endless and useless discussion on "what version of ruff to use" now when you kinda implied that you have some sort of a solution to these endless, useless discussions -- in a form of "just use ruff."
> upgrade whenever it is convenient
In my codebase, and with my environment, the best answer is never. We'll have to pick a second-best answer though.
Look at ruff blog, they provide config which disables newly added rules. So you can use that and everything will be the same. I have tried ruff today on multiple projects at work and nothing changed because we already use more rules than default. There was zero discussion about that everyone is ok with using linters, formatters and similar tools like deptry or uv-sort.
Why though? I've yet to come across an auto formatter that formats things the way I personally like. But that's fine. I do whatever the hell I want until I'm ready to open a PR, then bang it through the auto formatter. And you know what? I can also go the other direction and run a home-brew auto formatter to reshape things the way I personally want on my local machine.
I'm not sure why, but apparently my experience is unwelcome enough to be downvoted. Drive by changes are really annoying, IMO, and as the GP shows, the formatting tool outcome differs. So there are many "valid" versions of the same program logic. You have therefore not do what these formatters pretend to do, namely take this variable out of the equation. Rather, the wrong auto format can look much worse than the original.
I'm not sure why people felt formatters were necessary. but now they're part of the zeitgeist and there is no going back.
Gods forbid I talk to people I work with, learn their preferences, and figure out the way we can accommodate each other. Sounds like such a waste of energy. It’s so much better if we all acquiesce to the preferences of some people neither of works with!
I do not have strong aesthetic preference for code (I always disable "minimap" in editors which shows it because I think about code as symbols shown in "outline"). I would probably not notice reasonable code formatting change if you would do it during my holiday. My requirements for formatting are purely technical (ie. do not make unnecessary diffs on code change). But I have worked with a few programmers who think about code visually. They actually remember code structure and formatting more than text and use "minimap" instead of "outline". They also strongly oppose any automatic formatting and linters. It is fascinating how different some people are despite doing the same work.
How does that work when hundreds of people are working on a project, with a few new people joining every week?
It boggles me that anyone would argue against standardization, or believe that “just get hundreds of people to agree today and tomorrow and every future day” is a better solution.
Sometimes I also feel that Idea is too slow, especially for smaller projects or languages where I do not need top tier support. ie. I am backend rust and python programmer. I also have to work with JS/TS and C++ projects but I mostly only read through them.
I started using neovim with plugins if syntax highlighting and good navigation is enough. I have also set up ideavim configuration to be as close to neovim as possible. Now I can easily switch between Idea and neovim with almost the same workflow.
It will be "Clearly labeled" and "Separate from answers" until you pay more than ads. After that you will be the product and you will have to live with it.
AI goes full to attention economy. Where is AGI? Where is the better world for everyone? It will be just chat bots trying to waste your time until you notice something is wrong. How is it different from any other big tech last 30 years?
Lets see what happens in the future. From my experience cost of maintaining this amount of shitty code explodes pretty quickly. We will see in a few years if SW development in all phases using agents is that much automated and easy as people now predict.
From my experience new models are slower and use more tokens even on questions which gpt 4 answered correctly. It is mostly because newer models tend to be more verbose (even with prompt requesting short answers).
I cannot stand writing style of this page. I have read almost half and the most important thing they say is, that I will learn later. Ok, I will never know.
Exactly this is my problem with all AI tools. I want someone else to create working tools for me so I can focus on my product. It is the same with other tools. I do not want to spent huge amounts of energy and time to setup my IDE, operating system or desk layout. I guess it is too early to have that now.
It depends if duplication is accidental or real. I.e. if two taxes are using the same formula, it is accidental. If you use the same physic formula on multipla places, it is real duplication.
reply