閔亮
(西安交通大學 城市學院, 西安 710018)
過去數十年中,盡管在軟件開發的心理學、神經系統科學以及社會學方面,編程環境取得了不少進展,但始終未能解決程序員的問題。在代碼中導航的時候,開發者們仍然會有迷失方向的體會[1],而且開發者在理解代碼的時候仍然會出現問題[2]。這些基本問題也阻礙了其他比較重要的軟件工程活動。舉個例子,在代碼審查時,因為審查時沒有足夠的能力去導航并理解代碼,開發者大多會匯總問題上報,比如違反約定等,而不是去討論設計缺陷或者瑕疵。
對于開發者所體驗的幾個問題之下所隱藏的認知問題,研究員們進行了探究. 其中一個問題就是空間記憶—這是一種海馬旁回中的記憶系統,能支持保留空間認知的能力。有些人觀察到,在其所依賴的線索- 諸如滾動條以及文檔標簽[3],被當作其導航的一個結果而被擾亂,開發者會遺失相關代碼的軌跡。通常所參與的人本能的空間記憶處理工作失敗,會導致類似的方向迷失。
啟示是促使本能認知機制改變的設施。研究者們曾經試圖采納人類的關注、認知和記憶才能來改進界面。例如,一次學習減少了網絡書簽的存儲和檢索時間,也通過定位在一個3D空間的各種堆積的頁面的屏幕截圖,來減少檢索失敗次數[4]。
類似的是,研究者們曾經為編程環境中的空間記憶融入了啟示。編碼畫布將代碼文件定位在一個較大的可滾動、可縮放的平面上,在這里能夠保存較穩定的代碼空間位置。……