On Sun, 2023-07-02 at 10:41 -0700, Jeremy French wrote: > Scrolling in code is bad - a necessary evil, obviously, but evil > nonetheless. Vertical scrolling is bad because it causes what we > were looking at to move and our eyes have to track and/or reacquire > what we were looking at. It's obviously possible, but on the micro- > scale it's expensive when you have to do it 1000 times per day of > coding. Horizontal scrolling is even worse because not only is it > harder to track visually, but we don't have nearly the same ease of > use on our mouse to horizontally scroll as we do to vertically > scroll. Just reacquiring where you were in the code takes up a > miniscule amount of time and brain power that could be used for > better purposes. Again, it doesn't seem like much, and you may > dismiss me as being melodramatic, but this discussion is a recurring > one for a reason. It's enough of a problem to bug people and want it > to be different. > > So to speak to Dan's point, trading vertical scrolling for horizontal > scrolling would be a move in the wrong direction. But if you can > reduce three lines to one WITHOUT causing horizontal scrolling, that > benefits everyone, or at least everyone who uses a scroll wheel.
Scrolling is part of it, eye tracking is a less-obvious but more significant issue; there is a reason newspaper columns are narrow — it eases reading. Another part is burying semantics in a line, for example, I find the common practice of `if err := f(); err != nil {...` to be significantly less readable than the equivalent where the f call is outside the if, and reject code in review with this unless it's needed for scoping reasons. I sort of wish that this feature did not exist, though — even though the exact same semantics are possible in the language without it with the use of block scopes — I can see why it exists. In general I agree, with what you're saying though as a problem statement. The problem is tuning the gofmt heuristics (if a single-line if handling were adopted). This has been discussed in numerous issues and rejected (for a variety of reasons), so it's unlikely to be changed. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/ecc70f6c0d3facd0f74763f95711ebb25c789e5f.camel%40kortschak.io.