Ich denke, die meisten Leser haben keine Sehprobleme, fragen sich aber, was passieren wird, wenn ihre Sehkraft versagt. Es sollte ein Bild geben, aber ich sehe es nicht. Wenn Sie also wissen möchten, wie man codiert, ohne auf den Bildschirm zu schauen, frage ich nach einer Katze.
So kam es, dass ich seit meiner Kindheit eine sehr geringe Sehschärfe habe. Es sieht so aus, als ob ich das große Ganze ohne Fokus mit viel Rauschen sehe.
Ich bin Absolvent des Instituts für Mathematik, Mechanik und Informatik. Jetzt entwickle ich eine Anwendung zur Erkennung von Medizinprodukten.
Am Ende der Schule habe ich mich entschlossen, als Programmierer zu studieren. Ich mochte und mochte es immer noch, mit einem Computer herumzuspielen. Ich wollte nicht nur das Handwerk anderer Leute benutzen, sondern auch lernen, wie man selbst Anwendungen macht.
Zu diesem Zeitpunkt war ich bereits ein erfahrener Windows-Benutzer. Aus der Sicht eines blinden Benutzers habe ich den Computer mit beiden Bildschirmlesegeräten sicher gesteuert, was weiter unten erläutert wird. Aus Sicht des sehenden Benutzers wusste ich, was und wo ich das System so anpassen konnte, dass es wieder funktionierte, und hatte sogar das erste Einkommen daraus.
Zum Bewerten von Text von einem Computerbildschirm werden spezielle Anwendungen (Bildschirmleser) verwendet . Unter Windows sind Jaws von Freedom Scientific und Open Source NVDA am beliebtesten . . Das Windows-System war bereits zu diesem Zeitpunkt so eingerichtet, dass es nur mit beiden Bildschirmleseprogrammen vollständig genutzt werden konnte.
Wenn es darum ging, BIOS auszuwählen oder das System neu zu installieren, musste man natürlich die Hilfe von sehenden Menschen in Anspruch nehmen.
In der Entwicklung sieht der Kreislauf der Probleme etwas anders aus.
Code schreiben
Der Code kann natürlich unter Windows in den Editor geschrieben werden, da er sowohl von Jaws als auch von NVDA sehr gut gesprochen wird. Aber jenseits des Rahmens von Pascal, in dem uns in der Regel die Grundlagen der Programmierung ohne automatische Vervollständigung beigebracht werden.
Alle Aufgaben, die ich nur auf meinem Computer ausgeführt habe, weil ich die Administratoren in den Labors mit der NVDA-Installation nicht quälen wollte, und ich schweige nur über den Preis von Jaws.
Die Pascal ABC-Umgebung wurde für die Theorie, die uns beigebracht wurde, ausreichend geäußert. Der Fokus des Bildschirmlesegeräts liegt auf einem solchen abstrakten Punkt, der den Bereich der grafischen Benutzeroberfläche angibt, der jetzt vom Bildschirmlesegerät gesprochen wird. Er selbst passt gut in das Texteditorfeld, und als er erfolgreich kompiliert und gestartet wurde, wurde er auf die Konsole verschoben. Wenn dies nicht erfolgreich war, begannen Wunder, verschiedene Tricks des Bildschirmlesegeräts zu verwenden, mit denen ich das Lesegerät in diesem Artikel nicht überladen werde.
Gerade am Ende des Studiums dieses Themas wurde mein Laptop in ein Cover und den Rest aufgeteilt, und in diesem Fall wurde meine gesamte Entwicklung unter Windows gestoppt. Das einzige, was ich aus dem sagen kann, was ich jemals für die Entwicklung von Windows aus seriösen IDEs verwendet habe, ist, dass seit der 2015er Version normalerweise nur Visual Studio gesprochen wird. Alle praktischen Funktionen wie die automatische Vervollständigung sind nur mit kostenpflichtigen Backen verfügbar.
Also. Der treue Laptop ist besiegt, ein neues Kriegspferd wird benötigt.
Die nächste Maschine, die ich hatte, war ein MacBook. Ich weiß, dass es teuer ist, aber erstens waren es jene Jahre, in denen ungefähr 30 Jaroslawl für einen McKinley gegeben wurden, und zweitens ist es für Blinde einfach nicht bequemer.
Seitdem, bis heute, habe ich in Xcode entwickelt, wurde es mit VoiceOver hervorragend geäußert, obwohl die Auswahl der Entwicklungssprache C, C ++, Objective-C und Swift sehr begrenzt ist. Egal wie sehr ich davon geträumt habe, in Python mit dem Schreiben von Scheiße zu beginnen, es funktioniert einfach nicht. In Visual Studio für Mac wurde Python noch nicht ausgeliefert, und VSCode wird, egal wie viel Entwickler singen, so geäußert, dass es besser ist, nicht geäußert zu werden. T.E. Wenn die Anwendung nicht gesprochen wird, spricht der Bildschirmleser entweder leere Felder oder Schaltflächen an oder ist völlig stumm. In VSCode sieht die Benutzeroberfläche aus wie eine Mischung aus Elementen, die unverständlich sind, nichts miteinander zu tun haben. Die Hälfte klickt nicht, die andere Hälfte bringt fast neue Frames auf das andere Ende des Fensters.
Entwicklungsprozess
Der Beginn der Entwicklung unterscheidet sich überhaupt nicht von dem, was jeder tut: Erstellen eines Projekts, Erstellen eines Repositorys, falls erforderlich, insbesondere da das Xcode GIT das Repository selbst erstellt.
Wie ich oben sagte, ist Xcode in seiner Sprachauswahl begrenzt, daher verwende ich in der Regel entweder C ++ oder Swift.
Xcode selbst erstellt die Hauptdatei und beschreibt die Hauptfunktion selbst.
Wie alle anderen füge ich Dateien nach Bedarf hinzu, aber diejenigen, die bei der Entwicklung komplexer Projekte leider nicht vermieden werden können, werden automatisch vervollständigt, beginnend mit Ausschnitten verschiedener Teile des Codes wie Klassenbeschreibungen oder Schleifen, die die Entwicklung einfach beschleunigen und mit enden Klassenmethoden oder -funktionen mit langen eingängigen Namen, die ohne Zugriff auf das visuelle Gedächtnis nur sehr schwer im Kopf zu behalten sind.
Debuggen
Geschriebener Code muss debuggt werden. Nun, als nach dem Schreiben des Projekts das Programm zusammenkam, startete es sofort und funktionierte sofort richtig, aber wann war es?
Erstens syntaktische, semantische und Interpunktionsfehler. Der Fehler-Navigator in Xcode ist verfügbar. Während ein bestimmter Fehler hervorgehoben wird, bewegt er den Bearbeitungscursor in die gewünschte Zeile. Es ist jedoch schlecht, dass er entweder nicht die Nummer des Zeichens anzeigt, bei dem dieser Fehler aufgetreten ist, oder seine VO nicht ausspricht und nur bleibt .
Ich möchte, soweit ich weiß, für die Klammern separat sagen, dass die Sehenden auch unter zusätzlichen offenen oder geschlossenen Klammern leiden. Wenn die sehende Person jedoch versuchen kann, sie visuell zu identifizieren, wenn sie noch etwas gelernt hat und nicht durcheinander ist, aber der Code schreibt, wird sie die Verwirrung der Klammern herausfinden . Ohne Augen - das ist schlecht, teilweise hilfreich ist, dass Snippets normalerweise die erforderliche Anzahl von Klammern enthalten und eine fürsorgliche IDE die Klammern schließt, wenn der Benutzer sie öffnet, aber hier sind Fehler möglich.
Die einzige Möglichkeit besteht darin, den Hauptteil der Funktion von Anfang an auszuschneiden, gegebenenfalls mit jedem Codeblock den Körper zurückzugeben usw., bis die Klammer erkannt wird.
Das Projekt wurde zusammengestellt, das Programm gestartet und [LLDB] wurde in der Konsole unten anstelle des erwarteten und gewünschten "Programms mit Exit-Code beendet: 0" angezeigt. Ich kann den Low-Level-Debugger nicht verwenden, daher nehme ich diese Inschrift wahr, sodass die Programmlogik etwas enthält falsch gelaufen.
Debugger-Nachrichten werden selten verstanden. Daher können Sie das gesamte Programm mit Haltepunkten versehen, aber ohne gesehen zu werden, ist es sehr schwierig zu verstehen, an welchem Punkt Sie angehalten haben oder an welcher Stelle das Programm abstürzt. Daher arrangiere ich persönlich Schlussfolgerungen wie "test #" in verschiedenen Teilen von Main. Wenn die Anwendung nichts anzeigt, arrangiere ich Schlussfolgerungen, bei denen die Anwendung abstürzt, z. B. vom Eingang zu einer verdächtigen Funktion, und sehe, welche Ausgabe das Programm erreicht Danach bleibt nur noch der Fehler zwischen der erreichten und der nicht erreichten Schlussfolgerung zu erfassen.
Als ich eine Testaufgabe für ein Unternehmen durchführte, beherrschte ich das Fenster "Variablenansicht". Dies ist ein solches Feld im Debugger-Bereich, in dem Live-Variablen angezeigt werden, wenn ein Haltepunkt festgelegt wird. Dank dessen habe ich serialisiertes JSON in ein Wörterbuch mit einem eingebetteten Array von Wörterbüchern analysiert .
Versionskontrolle
Xcode selbst kann mit GIT arbeiten, aber es gibt Dinge, die am besten über das Terminal erledigt werden können.
Terminal
Das Terminal auf dem Mac ist stimmhaft, ich meine Standard. Natürlich ist es nicht praktisch, wenn VO den gesamten angezeigten Text spricht, aber mit den Funktionen von VO können Sie die Ausgabe nach Wörtern, Zeilen und sogar nach Zeichen anhören. Sie können also das Terminal und sogar einen der Konsolentexteditoren verwenden, die Nano nur brillant geäußert haben. Darüber hinaus ermöglicht das stimmhafte Terminal dem blinden Programmierer die Verwendung von Paketmanagern wie Home Brew oder Cocoapods.
Fazit
Wenn Sie Sehprobleme haben, können Sie Entwickler werden oder bleiben. Es gibt eine ausreichende Anzahl verschiedener Bildschirmzugriffsprogramme für verschiedene Plattformen: Jaws, NVDA und Narrator für Windows, orca in GNOME für Linux, VoiceOver auf Mac und Code-Editoren, die gesprochen werden, z. B.: Visual Studio unter Windows und Xcode auf Mac. Zumal es Berichte gibt, die den Zugriff auf einige Editoren erweitern, und ich bin sicher, dass VSCode und andere Ideen im Laufe der Zeit von blinden Entwicklern verwendet werden können.
Kümmere dich natürlich auf jede erdenkliche Weise um dein Sehvermögen, aber wenn es passiert ist, musst du den Beruf nicht verlassen, du musst dich nur an Bildschirmzugriffsprogramme anpassen und meinen Ansatz wählen oder deinen eigenen erfinden.
Wenn Sie interessiert sind, schreiben Sie in die Kommentare, an welchen Entwicklungsbereichen Sie blind interessiert sind, und ich werde sie in zukünftigen Artikeln behandeln. Ich denke darüber nach, darüber zu schreiben, wie ich eine GUI entwickle, bin aber offen für Ihre Vorschläge.