盲人 Google 工程师是如何写代码的?
我是一个盲人,但我在Google工作,主要负责更改排名算法的工作。
我的人生阅历告诉我,我和我的那些非盲人同事编程的方式并没有什么很大的不同。
我通常使用文本编辑器(Emacs及其emacspeak扩展,能够让Emacs发声)编码,使用浏览器来“阅览”谷歌内部网页中的文件和材料。
这里的主要区别是,我们要么听屏幕上的内容,要么通过盲文显示器的帮助读取内容。我无法对盲文显示器做任何评论,因为它太贵了,我买不起,但是我可以说说关于不能看只能听的我是如何编程的。
用耳朵编程的最大的难点是,你需要记住很多东西。一行一行地移下去听代码。可以一个词一个词地读取,也可以一个字符一个字符地听。问题的关键是,你需要在特定的时间里理解屏幕上的代码。
仅是在函数定义中查找传递的变量名,还不能开始编程。你得记住它。如果您想再一次检查函数定义的话,像我就会设置一个标记来查找定义,读取它,然后再回来。正如你可以看到,这可能需要珍贵的几秒钟时间,所以提高记忆能力是非常重要和有效的。
我喜欢使用emacspeak,因为它让我在用C ++等语言编程时,可以借助很多超酷的功能。它的语音样式概念,能在阅读变量、函数和语言的不同元素时发出不同音调的声音。这功能能让我们更容易辨析目标,所以私以为这就是我们的“代码高亮”了。
最后,让我明明白白地告诉你:
盲人程序员不使用缩进。我们通常完成代码之后再来设置缩进,因为这对我们毫无帮助。
然后,你可能会问:那么python怎么办?
我也非常喜欢Python,关于缩进部分也不会让我写的代码就此独树一帜。我有自己的一些小技巧,如,在每个缩进块的末尾跳一行,这样我就可以立刻 知道这个代码块已经结束了。当阅读别人的代码时,我可以设置屏幕阅读器的选项来告诉我缩进级别,但我觉得这有点烦人,因为读到的每一行,它都会一丝不苟地 报告目前这一行的空格数。
译文链接:http://www.codeceo.com/article/google-blind-engineer-coding.html
英文原文:A blind Google engineer explains how he writes code