盲人 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
翻譯作者: 碼農網 – 小峰