當前位置:
首頁 > 知識 > 當程序員寫不出代碼了,該怎麼辦?

當程序員寫不出代碼了,該怎麼辦?

英文:PAWEL KLIMCZYK 譯文:碼農網/小峰

www.codeceo.com/article/what-to-do-programming-sucks.html

你已經對著電腦 n 個小時了。敲鍵盤正成為一種負擔,你在想,鍵盤是否就像西西弗斯推著的那塊巨石。

伯樂在線轉註:西西弗斯是希臘神話中的人物,與更加悲劇的俄狄浦斯王類似,西西弗斯是科林斯的建立者和國王。他甚至一度綁架了死神,讓世間沒有了死亡。最後,西西弗斯觸犯了眾神,諸神為了懲罰西西弗斯,便要求他把一塊巨石推上山頂,而由於那巨石太重了,每每未上山頂就又滾下山去,前功盡棄,於是他就不斷重複、永無止境地做這件事——諸神認為再也沒有比進行這種無效無望的勞動更為嚴厲的懲罰了。西西弗斯的生命就在這樣一件無效又無望的勞作當中慢慢消耗殆盡。(摘自百科)

咖啡一杯接著一杯。不敢再喝了,因為搞不好要有副作用了,心跳加速,身體不由自主地顫抖,出冷汗,但還是無法產出任何代碼。

所有重新發現編程趣味的努力都徒勞無功,因為你的最後一點能量都用來驅逐大腦中正在攻城略地的話:

「我寫不出代碼了!」

編程的本質是棘手

即使是最優秀的程序員也會遭遇無法解決的軟體工程問題。碰到這樣的問題,並不一定意味著你缺乏技能或知識。

編程不是一項容易的工作,我們可以通過採取非正統的方法來保持你想要的生產力水平,並確保提交高質量的代碼。

如果我在一個問題上花了幾個小時,卻仍然找不到解決方案的話,最後我會覺得這是浪費了時間。我不是胡言亂語——我只是覺得「沒有人能夠百死不悔」。

沒有憤怒和悲傷。因為我已經嘗試過所有方向,只是都走不通而已。失去希望,於是開始想辭職不幹。我覺得自己應該換工作,去做做調酒師或其他,至少研究和測試在啤酒中加點什麼不會耗去我數個小時的時間。

這些都是我在不敲代碼時的想法。我開始懷疑生活,懷疑編碼,懷疑人生。

有成效不?好吧,我從來沒聽任何專家說過「辭職和萎靡不振」可以造就偉大的代碼,所以可能並沒有成效。

這就提出了一個問題:我們該如何避免這種沒有成效的狀態?

重新發現問題,重新發現你的生產力

可能你已經行進在這條路上了。那麼此時你只要繼續就可以了,我可能沒有什麼新的東西可以告訴你的。

如果你是新手,那麼可能你還不知道如何重新發現生產力。

下面我要分享的內容將有助於你在編程時以一種健康的方式保持生產力,不至於筋疲力竭。主要包括:

測試不同的解決方案,直到感覺重複

在線尋找開源解決方案

向更有經驗的程序員詢問

如果一切都失敗,那就瀟洒放手

1 – 測試不同的解決方案,直到感覺重複

在你研究或詢問其他開發人員(=浪費他們的時間)之前,你應該嘗試使用你現有的知識和思維來制定每一個可能的解決方案。

顯而易見的是,太多的程序員是從詢問他人開始的,自己甚至都不曾靜下心來分析問題本身。不要成為這樣的討厭鬼,儘可能不要浪費別人的時間。

先投身於工作,然後再尋求幫助。

2 – 在線查找開源代碼

當你投入於工作,卻沒有什麼成果的時候,那麼下一步你可以嘗試開源代碼。許多編程人員構建軟體,是出於創造解決方案並在線發布以供大家使用的樂趣。有些人發布的代碼曾被它們的程序員使用於商業項目。

GitHub 是尋找開源代碼的兩個主要地方之一。另一個是 StackOverflow。

這些網站的解決方案是採用可重用代碼的形式,方便你在項目中實現。

謹記,使用其他人開發的代碼總是有風險的。它可能會以你意想不到的方式改變程序的行為。備份原始代碼,這是常識。

3 – 向更有經驗的程序員詢問

你有沒有碰到過這樣的情況,向其他人求助卻發現你甚至不知道自己在問什麼?

在詢問任何人之前,你得準備好一些你無法通過網路信息搜索解答的問題。

明確的問題,才能有明確的解決方案。如果是你自己都描述得雲里霧裡的問題——那麼你只會得到一個雲里霧裡的回答(並且可能會惹惱他人)。

如果你周圍沒有任何開發者可以詢問,那麼也可以在線查找。你可以在StackOverflow或MSDN社交論壇上詢問,或查找特別針對於你所用技術的Slack頻道。

4 – 如果一切都失敗,那就瀟洒放手

不要一心鑽在死胡同里,實在不行,那就去干點別的事——睡覺,吃東西,等等。

你覺得這是在逃避工作?那就錯了。

我要告訴你的是,當你最輕鬆的時候,往往正是解決辦法靈機一現的時候,這不是我胡編亂造的,而是有科學的證明。此時你的大腦工作在「發散思維」的模式下,而不是在「集中注意力」的模式下——你可以在這篇文章中了解之間的差異。

總的來說,這個理念就是要你忘記手頭的問題,讓你的意識心靈沉浸到其他的事情中。此時,你的潛意識則開始連接要點,朝著頓悟的方向前行。

我們可以做些什麼以便於幫助大腦在發散思維的模式下工作呢?放輕鬆就好了:

散步(古代哲學家非常習慣於在走路時演講,因為他們意識到走路有助於思考)

清理辦公室或住所(完成後給自己一個獎勵)

與朋友約會,和杯咖啡,聊聊八卦(如果你過於關注問題的話,那麼建議和不能提供幫助的非編碼人員交談)

總結

我在編程和生活兩者之間保持了一種健康的平衡。

無論你是為了興趣愛好、錢還是改變世界的宏圖偉業而選擇編程——編程都不應該是你唯一痴迷的東西,否則你會走火入魔。

最後再說一句,如果你絞盡腦汁,卻仍然無法解決問題,那麼不妨先放一放。通過潛意識的運作,搞不好突破性的想法就會靈光乍現。

小獵推薦

優質IT工作推薦渠道

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序源 的精彩文章:

通俗講解比特幣的原理及運作機制
寫給後端程序員的 HTTP 緩存原理介紹
程序員該如何向項目經理估算工時?
HTTP 協議入門
一個3年工作經驗的Web工程師的經驗之談

TAG:程序源 |

您可能感興趣

程序員的代碼為什麼永遠寫不完?
程序員在等代碼出結果的時候都會幹什麼?
程序員如何寫出優雅的代碼?
除了寫代碼,程序員還能做哪些副業呢?
只會寫代碼的程序員永遠無法出色?!
對不起,我用代碼評審毀了程序員的生活
「無代碼」來了,還要程序員幹嘛?
不用再問我當程序員怎麼樣了!統一回復一下
程序員,除了代碼你還需要懂得這些!
為什麼程序員應該避免間接代碼?
對不起,我的代碼評審毀了一個程序員!
不是碼農,不會敲代碼的她,卻最懂程序員!| 人物誌
做程序員累的時候怎麼辦?
程序員面試被要求手寫代碼,你與頂級程序員的差別在哪?
為什麼程序員千萬不要重寫代碼?
程序員,該如何接手別人遺留下的代碼?
為什麼程序員喜歡在半夜寫代碼?
程序員,你準備好推出自己的移動應用了嗎?
程序員,代碼清理有必要嗎?
程序員,多寫點「壞」代碼吧!