盲人 Google 工程師是如何寫代碼的?
我是一個(gè)盲人,但我在Google工作,主要負(fù)責(zé)更改排名算法的工作。
我的人生閱歷告訴我,我和我的那些非盲人同事編程的方式并沒有什么很大的不同。
我通常使用文本編輯器(Emacs及其emacspeak擴(kuò)展,能夠讓Emacs發(fā)聲)編碼,使用瀏覽器來“閱覽”谷歌內(nèi)部網(wǎng)頁中的文件和材料。
這里的主要區(qū)別是,我們要么聽屏幕上的內(nèi)容,要么通過盲文顯示器的幫助讀取內(nèi)容。我無法對盲文顯示器做任何評論,因?yàn)樗F了,我買不起,但是我可以說說關(guān)于不能看只能聽的我是如何編程的。
用耳朵編程的***的難點(diǎn)是,你需要記住很多東西。一行一行地移下去聽代碼??梢砸粋€(gè)詞一個(gè)詞地讀取,也可以一個(gè)字符一個(gè)字符地聽。問題的關(guān)鍵是,你需要在特定的時(shí)間里理解屏幕上的代碼。
僅是在函數(shù)定義中查找傳遞的變量名,還不能開始編程。你得記住它。如果您想再一次檢查函數(shù)定義的話,像我就會(huì)設(shè)置一個(gè)標(biāo)記來查找定義,讀取它,然后再回來。正如你可以看到,這可能需要珍貴的幾秒鐘時(shí)間,所以提高記憶能力是非常重要和有效的。
我喜歡使用emacspeak,因?yàn)樗屛以谟肅 ++等語言編程時(shí),可以借助很多超酷的功能。它的語音樣式概念,能在閱讀變量、函數(shù)和語言的不同元素時(shí)發(fā)出不同音調(diào)的聲音。這功能能讓我們更容易辨析目標(biāo),所以私以為這就是我們的“代碼高亮”了。
***,讓我明明白白地告訴你:
盲人程序員不使用縮進(jìn)。我們通常完成代碼之后再來設(shè)置縮進(jìn),因?yàn)檫@對我們毫無幫助。
然后,你可能會(huì)問:那么python怎么辦?
我也非常喜歡Python,關(guān)于縮進(jìn)部分也不會(huì)讓我寫的代碼就此獨(dú)樹一幟。我有自己的一些小技巧,如,在每個(gè)縮進(jìn)塊的末尾跳一行,這樣我就可以立刻 知道這個(gè)代碼塊已經(jīng)結(jié)束了。當(dāng)閱讀別人的代碼時(shí),我可以設(shè)置屏幕閱讀器的選項(xiàng)來告訴我縮進(jìn)級別,但我覺得這有點(diǎn)煩人,因?yàn)樽x到的每一行,它都會(huì)一絲不茍地 報(bào)告目前這一行的空格數(shù)。