|
|
|
|
|
by saqibs
5136 days ago
|
|
This is certainly one of the harder aspects of programming blind - particularly tackling a large, unfamiliar, codebase. In the case of a new project, I build up a mental map of how the program works - and memorise the conceptual organisation. With an existing codebase go-to-definition is invaluable, and stepping through in a debugger is just as useful for a blind person as for anyone - you get to see the lines in the order of execution. This does influence my personal coding style - I always have the entry point at the top, which makes use of meaningful named methods - so it looks like the table of contents of a book. Next come the second level methods - and so forth, until the small auxiliary methods are way at the bottom. This lets me read it top-to-bottom, like a story. Much of this is just good coding practice - but, for example, I find it really frustrating to read code where functions must be defined before they are used - this results in details first, outline last - which makes it hard to build up that mental model (remember, I'm listening to the code line by line - no spinning the mousewheel). Finally, I'm going to use this comment to express my dislike for underlines (yes, I'm looking at you, Ruby). Every underline adds three syllables to my audio stream - whereas screen readers read cammalCaseCode as separate words. Feel to ping me @SaqibS on Twitter. |
|