Live data from Hacker News

Effect of perceptual load on performance within IDE in people with ADHD symptoms

link.springer.com

191–200 of 288 posts

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#191
post #157

Earlier quoted context omitted.

For me it's not just the jumps but also overly long names. My ability to quickly scan the code is hindered by names that all jumble together because they aren't visually distinct enough. And when they read like a book, I'm going to have the same problems I have when reading books where I'm somehow reading all these words across the page but at the same time not actually processing any of it.

What constitutes an overly long name for you? Are you talking Java-y things likes `UserAccountBuilderFactoryFactory` or even just something like `operation` instead of `op`?

not OP but I think even just `operation` vs `op` should be self explanatory for the majority of devs. And documentation can dispel any doubt regarding the interpretation of the name.

Terse naming is just fine as long as the names are visually distinct from those in the same scope/namespace and as long as engineers/developers are religious about proper documentation.

i.e. members/classes/types/fn/etc getting a doxy/doc description and local variables getting a `//` comment if their meaning and use isn't easily derivable from the immediate context.

If that isn't happening however, you probably need to be pushing for more descriptive names or better docs during code review.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#192
post #16

As an engineer for 10+ years with pretty severe ADHD (unmedicated, I cannot usually even read more than a few pages of a book before either losing focus or feeling drained) I have always been aware of how much my performance fluctuates based on the cognitive load of dealing with the code I am currently working with, and how it is displayed. I half-jokingly tend to describe it to people as having a "small brain buffer…

> It is for this reason that I try to write what I feel is very obvious or self-explanatory code [...] I don't have ADHD, but, for different reasons, my brain seems to work in a similar manner. And, I have developed coping strategies similar to those applied with people on the ADHD spectrum [1][2]. My anxiety around coding has reduced a significantly when I learned about TDD and started writing code made of very smal…

> My anxiety around coding has reduced a significantly when I learned about TDD and started writing code made of very small, composable chunks.

you definitely do not have ADHD, then. I find these absolutely impossible to trace through when I want to find out what a program is actually doing, in reality.

if I have to find the actual logic used in main or whatever event handler, and it's in a function called by a function called by a function etc., then I will forever despise the developer who felt that this was anything approaching an acceptable design, or even an acceptable idea.

codebases like that are impossible for me to absorb.

put the logic where it fucking goes, inline with its use! right there! nowhere else! don't nest it behind abstractions you don't NEED.

functions that are very small and used in 100 places in the codebase should be inlined in the source code so I can read it. there is no function used this much in an application I've ever even considered working on, anyway.

I always prefer to copy and paste a little bit of logic around than to wrap 5 lines in a function and call it from everywhere.

if the function is 100 lines of complex code, put it in a function and call it ONLY if it is used in more than 2-3 places, and NEVER if it is only used once.

today's "best" practices serve only to shut me and others like me out of participation and are exclusionary.

this does mean that I have to take the time to find very good names for everything, which takes time, but always pays off in readability, for everyone, not just me.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#193
post #148

Earlier quoted context omitted.

Do you have this issue of where you start in on something, you’re making progress, there’s velocity, the work seems cogent, and then...it’s gone. Whatever point you had, whatever drive was there, is just gone. The wind has calmed and the sails just drop loose on the mast. This happens to me, both in my own work, or writing something like this, and then I just dump it. Kind of aggravating.

Yeah definitely! I don't trust that my writing energy nor my memory will continue into the future, so I have a few tactics I use: If an idea flashes into my head, I quickly write it shorthand anywhere . See my other comment ( https://news.ycombinator.com/item?id=36726680 ) on having 'Streams' pages that offer an immediate working space to write. I let the idea expand with that progress & velocity, and once I've reach…

That's similar to how I organize my ideas as well. I personally use google keep for this, or just plain text files. I don't try too hard to connect them, maybe I should though.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#194

Earlier quoted context omitted.

What constitutes an overly long name for you? Are you talking Java-y things likes `UserAccountBuilderFactoryFactory` or even just something like `operation` instead of `op`?

not OP but I think even just `operation` vs `op` should be self explanatory for the majority of devs. And documentation can dispel any doubt regarding the interpretation of the name. Terse naming is just fine as long as the names are visually distinct from those in the same scope/namespace and as long as engineers/developers are religious about proper documentation. i.e. members/classes/types/fn/etc getting a doxy/do…

It's self-explanatory for sure, but I would prefer the actual domain term be Op as well. IE, I really dislike `op = Operation.new()` or whathaveyou. This breaks stuff like editor highlighting and whatnot. It's also harder to keep consistency through a codebase. Like maybe some people do `o = Operation.new()`. I find very high cohesion here helps my code-scanning a ton.

I'm not saying that would be true for anyone, just furthering my premise that it's different for everyone.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#195
post #105

Earlier quoted context omitted.

I lost my reading tendency when life got harder. The urgency and anxiety around keeping up with everyday life made activities like reading almost unsettling slow and “unproductive”. I realized that and did something about it, but I didn’t allow myself to enjoy a book for around 10 years. Not sure if that resonates with you (I hope not!) but I figured I’d mention it just in case. I was totally unaware of what I was do…

What did you do about it? I'm exclusively a vacation reader. When I have limited free time, reading competes with other hobbies or media and almost never wins just because a book is such a huge time investment compared to a movie or a video game and I'd really like to change that.

I keep a book near me while working.

I can't really 'break' on the computer because that's where the work is happening. But I can push down the laptop screen for a little while and read for 10 minutes, no problem. A physical book is a different modality, different everything, and sticky enough to keep my interest but not so sticky I'll lose an hour without noticing.

Do that 2 or 3 times during your workday and you'll be finishing books in no time.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#196

Even "lite" editors like VSCode, NP++, Sublime Text, etc have become distracting for me. Every time I fire one of these things up, my mental state is eliminated by being forced to dismiss some "hey we got a new version for you :D:D:D" bullshit modal. To whomever is responsible for adding these to apps: please stop. No one is enjoying your shenanigans. It is a text editor . Empathize with the user: People with far les…

> Visual studio proper is a 100% circus for me now. I can power through it, but I lose tabs in about 15 seconds after opening them. I used to be the same way but then I discovered Visual Studio's vertical tab option. Tabs are displayed vertically on the left side of the editor pane. The filenames are all aligned so it's actually possible to visually scan them. You can group them by project and color code them by file…

My Google Fu is pretty good and I cannot find how to do this. I love vertical tabs in Firefox and never considered doing this in VSCode.

How!?

edit: on linux at least the process linked below doesn't work...

https://domysee.com/blogposts/vscode-vertical-tabs

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#197
post #143

I am a successful software engineer (20+ years, worked in companies like NVIDIA, had been at Google for the last decade) and I have dyslexia. I was also diagnosed with ADHD a couple years ago but I do not want to take medications as they did not improve my quality of life. Syntax/semantic highlight and animations are the only reason I am in this profession. I do not "read code" - I mostly "parse" the shape of it, rel…

color and shape of segments of code are far more useful to me than reading, once I've already read that code.

I need those colors and those shapes. people who say that no one needs syntax highlighting are so myopic that it makes my head spin. oh everyone is exactly like you, are they? no one needs syntax highlighting! no one!

80-column rules are the same, for me. arbitrary nonsense rules made up by people who do not have the exact brain that I have, but who assume that everyone has the exact same brain that they have.

this profession is riddled with people who think they know the best way for all software developers to work, and I swear nothing is more perfectly crafted to inspire in me the urge to murder people than people who say these things. believing you know the best way for everyone in your field to work is one of the apex caustic traits of professional software developers, and it is an extremely common trait, in my experience.

everyone is different. there is no enforced development style, or enforced language, or enforced framework which is even acceptable to even 10% of all software developers, never mind being "best for everyone."

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#198
post #18
post #15

Earlier quoted context omitted.

IMO syntax coloring lessens the cognitive load. What is "high level code". You are telling a machine what to do and to do it as fast as possible. Can you still make money telling a machine what to do but not as fast, depends but most likely. We code to ultimately make money in one form or another. Whether you keep that money or put it towards altruistic causes is independent of the shared commonality.

We should organise a study of our own: does syntax highlighting help or hinder and does the answer change based on your level of ADHD traits. Could be quite interesting!

Note: there is an effect that less eligible font makes for deeper understanding (it makes the text harder to read thus your conscious has the time to process before your fast intuitive system I jumps to conclusions).

While skimming code (i.e., most of the time), syntax highlighting is useful. But it may be also useful to turn it off occasionally, to read some parts more thoroughly.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#199

Earlier quoted context omitted.

> why I try to keep functions/modules as simple as possible and ideally not longer in length than I can see on my screen at once (when possible) This is the paradox of "readable" code. Each person has a different definition of it. I also prefer to write as dumb code as possible (well, these days I do, I of course tried to be extra clever in my earlier days). But for me it's the jumping around that makes me lose focus…

I cannot stand programs that are excessively split up and have too many files. There is nothing worse, especially combined with tiny functions. Not to mention the performance impact caused depending on the language. At this point I do not even care if it's true or not that the impact isnt negligible, if you are submitting something like that for me to review I'm probably going to demand you inline (not with the keywo…

When I was working in Ruby, I think the default function length was 5 lines. I used to be on board with this until I helped write a whole system adhering to this.

Small functions aren't bad per se, especially if they are re-used a lot, but I no longer believe that they are inherently good. Especially awful are having a lot of tiny single-use private functions.

I think that developers often want an easy way to say "we must do this" and have a tool tell them to do so. Tools can get us pretty far but at some point writing good code is going to come down to taste. This is of course very hard in many large project situations where its every team for themselves, and often every developer for themselves within a team.

Re: Effect of perceptual load on performance within IDE in people with ADHD symptoms

#200

Even "lite" editors like VSCode, NP++, Sublime Text, etc have become distracting for me. Every time I fire one of these things up, my mental state is eliminated by being forced to dismiss some "hey we got a new version for you :D:D:D" bullshit modal. To whomever is responsible for adding these to apps: please stop. No one is enjoying your shenanigans. It is a text editor . Empathize with the user: People with far les…

There is no earthly reason why a text editor should have network access in the first place. Can you just block that?

For Sublime and VS Code, you can turn off automatic updates.
Post reply on HN