在秩序中找到愉悅:一段完全發揮作用的程式碼

越來越完美的自我控制,產生一種痛快的感覺。你會不斷逼身體發揮所有的極限,直到全身隱隱作痛;

你記得上一次真正「進入狀態」是什麼時候嗎?

想了一下,大概是去年某個下午,找一個怎麼看都找不到的 bug,辦公室的冷氣聲、隔壁同事的鍵盤聲。等我回神的時候,身邊同事都走光了。

那種感覺,我想只要是工程師應該多少都體驗過「進入心流」的狀態,特別是在 Debug 或是 Code Review 的時候,會忘記時間的流逝,回過神來發現已經六點了。

然而自從開始遠距工作之後,我發現我已經快半年沒有進入心流了,,工作沒有大問題,交付準時,review 都過,一切都在正軌上,但那種「完全在狀態裡」的感覺不見了。

起初我沒有特別在意,以為只是累了,或是專案不夠有挑戰性。直到某天下午,開發功能到一半,突然想起昨天看的書裡有一句話說得很準(沒錯我又分心了),然後就打開了書。

翻到那頁,順便往後翻了兩頁。

然後播放清單換到一首很久沒聽的歌,就開始單曲循環。

然後歌詞讓我想起之前想學的日文,就打開聽歌練日文網站, 開始唱歌練日文。

等我重新打開 IDE,一個小時過去了,剛才在想的邏輯也忘了一半(難道是雙螢幕的壞處?

看《心流》之前,我以為問題是「自律不夠」,那種很廉價的自我批評。

看完之後我換了一個理解方式:內在失序

書裡的說法是,當意識裡有太多衝突的資訊和意圖同時存在,注意力就會被切割。不是因為你懶,而是因為你的大腦正在處理太多不屬於「現在」的東西——昨天的那本書、下個月的某個計畫、待辦事項裡還沒動的那件事。

這樣的狀態下,進入心流幾乎是不可能的。因為心流需要的不是「努力集中」,而是「沒有雜訊」。

遠距工作把這件事放大了。辦公室有一種天然的結構,上班就是上班,下班就是下班,環境本身在幫你隔開那些不屬於「現在」的干擾。在家工作,這道牆消失了,書就在旁邊,床也在旁邊,要不分心真的很難。

但我最近想到一件事。

心流本身不只是「高度專注」,它更像是一種秩序感。就像書裡鎖說,當一個人完全投入某件事,他的意識會暫時從混亂回到有序,所有的注意力都指向同一個方向,沒有內耗,沒有衝突。

這讓我想起某些程式碼。

那種寫完之後你會多看幾眼的程式碼,乾淨、自己取名取的很漂亮,設計模式讓職責切分的很明確,幾乎就是可以直接上 PR 的 Code。

那種程式碼給我帶來的感覺,和心流其實很像。不是興奮,是一種安靜的愉悅。在秩序中找到愉悅——不是刺激感,而是一種「它本該就長這樣」的確定感。

直到現在,我還是沒辦法保證自己每天都能進入心流,更沒辦法保證遠距工作的環境能像辦公室一樣有結構。

但我可以試著做一件事:在程式碼裡先建立秩序

在開始寫之前,先想清楚這段邏輯要從哪裡進、從哪裡出,哪些東西是這個函式的責任,哪些不是。不是為了讓程式碼漂亮,而是為了讓自己的思路先清楚。

這和心流的底層邏輯是一樣的:不是靠意志力強迫自己專注,而是先把環境裡的衝突清掉,讓注意力自然地被吸進去。

我還在找回那個狀態的路上,沒有結論,也沒有什麼一招解決所有問題的方法。

只是有時候,當一段程式碼寫出來之後剛剛好,結構和邏輯都到位了,我會在那個當下多看它幾秒。

那幾秒,很像在心流的邊緣。

你會滿懷敬畏地回顧,回顧你所做的一切,它帶給你一種狂喜,那種佩服的感覺簡直難以形容。

——— 心流:最優體驗心理學