不用看代码开发

我认为大多数读者没有视力问题,但是想知道如果他们的视力失败了会怎样。 应该有一张图片,但我看不到,所以那些对不看屏幕而编码的人感兴趣,我要猫。


碰巧从小我的视力就很低。 看起来好像我看到大图时没有任何焦点并且杂乱无章。


我毕业于数学,力学和计算机科学研究所。 现在,我正在开发一种用于识别医疗设备的应用程序。


放学后,我决定去学习程序员,我真的很喜欢,现在仍然喜欢弄乱计算机。 我不仅想使用别人的手工艺品,而且还想学习如何自己制作应用程序。


到那时,我已经是一位经验丰富的Windows用户。 从盲人的角度来看,我自信地使用两个屏幕阅读器控制了计算机,下面将对此进行讨论。 从有眼光的用户的角度来看,我知道我可以在系统中进行哪些调整以及在何处进行调整,以使其再次起作用,甚至从中获得第一笔收入。


为了在计算机屏幕上对文本进行评分,使用了特殊的应用程序(屏幕阅读器) 。 在Windows下,最受欢迎的是Freedom Scientific的 Jaws和开源NVDA。 。 甚至在那时,Windows系统都已经进行了排列,因此仅使用两个屏幕阅读器就可以完全使用它。


当然,在选择BIOS或重新安装系统时,您必须获得有视力的人们的帮助。


在开发中,问题圈看起来有些不同。


代码编写


当然,该代码可以用Windows的记事本编写,因为Jaws和NVDA都很好地表达了该代码。 但是在Pascal框架之外,通常,我们将在该框架上学习根本没有自动完成的编程基础。


我只在计算机上执行所有任务,因为我不想因为安装NVDA而折磨实验室的管理员,而我对Jaws的价格一无所知。


Pascal ABC环境对于我们所教授的理论已经足够重视。 屏幕阅读器的焦点是一个抽象的点,它指示屏幕阅读器现在正在说出的GUI区域,它本身非常适合于文本编辑器字段,并且在成功编译和启动它后,将其移至控制台。 如果不成功,奇迹将开始使用屏幕阅读器的各种技巧,在本文中,我不会让阅读器超负荷使用。


在学习完本主题之后,我的笔记本电脑被分为封面和其余部分,因此我在Windows上的开发全部停止了。 从曾经尝试使用Windows从严肃的IDE进行开发的过程中,我唯一能说的是,从2015年版本开始,通常只说Visual Studio。 并且所有便利功能(例如自动完成)仅在使用付费Jaws时可用。


这样啊 忠实的笔记本电脑被击败,需要一台新的战马。


我的下一台机器是MacBook。 我知道这很昂贵,但首先是那几年,大约30辆Yaroslavl送给了一只麦金莱,其次,对于盲人来说,这并不方便。


从那时起,直到今天,我一直在使用Xcode进行开发,尽管使用它在开发语言(C,C ++,Objective-C和Swift)的选择上非常有限,但使用VoiceOver的声音非常好。 不管我有多少梦想开始用Python编写狗屎,这都是行不通的。 在Mac的Visual Studio中,尚未交付Python,并且无论开发人员多少唱歌,VSCode的表达方式都最好不要被表达出来。 T.E. 如果不给应用程序发声,则屏幕阅读器会发声空白字段或按钮,或者完全不发声,在VSCode中,界面看起来像是杂乱无章,完全不相关的元素的混搭,一半不单击,一半几乎弹出了一些新帧窗口的另一端。


开发过程


开发的开始与每个人的工作都没有什么不同:创建项目,创建存储库(如果需要),尤其是因为Xcode GIT会创建存储库本身。


如上所述,Xcode在语言选择上受到限制,因此通常我使用C ++或Swift。


Xcode本身创建Main文件并描述Main函数本身。
像其他所有人一样,我根据需要添加文件,但是不幸的是,在复杂项目的开发中无法避免的那些文件是自动完成的,它们是从代码的各个部分的片段(例如类描述)或循环(这些循环只是加快开发速度)开始,然后以类方法或函数具有醒目的长名称,如果不访问视觉内存,很难将它们保存在头脑中。


侦错


书面代码需要调试。 好吧,在编写完项目后,该程序启动并立即正确运行,但是什么时候开始?


首先是句法,语义和标点错误。 Xcode中的错误导航器可用,并且在突出显示特定错误时会将编辑光标移至所需的行,但是很糟糕,它要么不显示看到此错误的字符编号,要么不发音其VO,而仅保留。
我想对括号单独说一句,据我所知,目击者还会遭受额外的开放式或封闭式括号,但是如果目击者可以尝试以视觉方式识别它们,如果他仍然学到了一些东西而不是一团糟,但是代码写道,他会找出括号的混乱。 没有眼睛-这很不好,部分帮助是片段通常包括必要数量的括号,并且如果用户打开括号,有爱心的IDE会关闭括号,但是这里可能会出错。


唯一的方法是从头开始切出函数的主体,如果是,则将其切开,返回主体,依此类推,直到每个代码块都被检测到为止。


项目已经组装好,程序开始运行,并且[LLDB]出现在下面的控制台中,而不是预期的和所需的“程序以退出代码结尾:0”,我无法使用低级调试器,因此我可以看到此铭文,以便程序逻辑中包含某些内容出了错。


调试器消息很少被理解。 因此,您可以使用断点戳整个程序,但是在不被发现的情况下,很难理解您在什么位置停止或程序崩溃的位置。 因此,我亲自在Main的不同部分安排了诸如“测试#”之类的结论,如果应用程序什么都不显示,如果显示了,我就在应用程序崩溃的地方安排了结论,例如,从可疑函数的入口开始,并查看程序达到的输出,此后仅能捕捉到得出的结论与未得出的结论之间的错误。


在为一家公司执行测试任务时,我掌握了变量视图面板,该面板位于调试器区域,如果设置了断点,它将显示实时变量,这要归功于我将序列化的json 解析为字典,并带有嵌入式字典阵列。


版本控制


Xcode本身可以与GIT一起使用,但是有些事情最好通过终端来完成。


航站楼


Mac上的终端机很清晰,我的意思是标准。 当然,当VO说所有显示的文本时,这并不方便,但是使用VO的功能,您可以按单词,线条甚至字符来收听输出。 因此,您可以使用终端,甚至可以使用控制台文本编辑器之一,nano发出的声音都非常出色。 另外,带语音的终端允许盲目的程序员使用包装管理器,例如Home brew或cocoapods。


结论


视力有问题时,您可以成为或保持开发人员。 有足够数量的不同屏幕访问程序可用于不同平台:Jaws,NVDA和Windows讲述人,适用于Linux的GNOME中的orca ,适用于Mac的VoiceOver和具有语音功能的代码编辑器,例如:适用于Windows的Visual Studio和适用于Mac的Xcode。 特别是由于有报告称它们增加了对某些编辑器的可访问性,而且我相信随着时间的推移,盲人开发人员可以使用VSCode和其他Ideas。


因此,当然,要尽一切可能保护视力,但是,如果确实发生了这种情况,则不必离开专业领域,您只需要适应屏幕访问程序并采用我的方法或自己发明即可。


如果您有兴趣,请在评论中写下您对盲目感兴趣的开发领域,我将在以后的文章中介绍它们。 我正在考虑写有关如何开发GUI的文章,但我愿意接受您的建议。

Source: https://habr.com/ru/post/zh-CN465643/


All Articles