當一個程式設計師寫不出程式碼了,該怎麼辦?
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
你已經對著電腦n個小時了。不知道該寫什麼程式碼,或者一種摔鍵盤的衝動正在你的胸中醞釀。
咖啡一杯接著一杯。不敢再喝了,因為搞不好要有副作用了,心跳加速,身體不由自主地顫抖,出冷汗,但還是無法產出任何程式碼。
所有重新發現程式設計趣味的努力都徒勞無功,因為你的最後一點能量都用來驅逐大腦中正在攻城略地的話:
“我寫不出程式碼了!”
程式設計的本質是棘手
即使是最優秀的程式設計師也會遭遇無法解決的軟體工程問題。碰到這樣的問題,並不一定意味著你缺乏技能或知識。
程式設計不是一項容易的工作,我們可以通過採取非正統的方法來保持你想要的生產力水平,並確保提交高質量的程式碼。
如果我在一個問題上花了幾個小時,卻仍然找不到解決方案的話,最後我會覺得這是浪費了時間。我不是胡言亂語——我只是覺得“沒有人能夠百死不悔”。
沒有憤怒和悲傷。因為我已經嘗試過所有方向,只是都走不通而已。失去希望,於是開始想辭職不幹。我覺得自己應該換工作,去做做調酒師或其他,至少研究和測試在啤酒中加點什麼不會耗去我數個小時的時間。
這些都是我在不敲程式碼時的想法。我開始懷疑生活,懷疑編碼,懷疑人生。
有成效不?好吧,我從來沒聽任何專家說過“辭職和萎靡不振”可以造就偉大的程式碼,所以可能並沒有成效。
這就提出了一個問題:我們該如何避免這種沒有成效的狀態?
重新發現問題,重新發現你的生產力
可能你已經行進在這條路上了。那麼此時你只要繼續就可以了,我可能沒有什麼新的東西可以告訴你的。
如果你是新手,那麼可能你還不知道如何重新發現生產力。
下面我要分享的內容將有助於你在程式設計時以一種健康的方式保持生產力,不至於筋疲力竭。主要包括:
- 測試不同的解決方案,直到感覺重複
- 線上尋找開源解決方案
- 向更有經驗的程式設計師詢問
- 如果一切都失敗,那就瀟灑放手
1 – 測試不同的解決方案,直到感覺重複
在你研究或詢問其他開發人員(=浪費他們的時間)之前,你應該嘗試使用你現有的知識和思維來制定每一個可能的解決方案。
顯而易見的是,太多的程式設計師是從詢問他人開始的,自己甚至都不曾靜下心來分析問題本身。不要成為這樣的討厭鬼,儘可能不要浪費別人的時間。
先投身於工作,然後再尋求幫助。
2 – 線上查詢開原始碼
當你投入於工作,卻沒有什麼成果的時候,那麼下一步你可以嘗試開原始碼。許多程式設計人員構建軟體,是出於創造解決方案並線上釋出以供大家使用的樂趣。有些人釋出的程式碼曾被它們的程式設計師使用於商業專案。
GitHub是尋找開原始碼的兩個主要地方之一。另一個是StackOverflow。
這些網站的解決方案是採用可重用程式碼的形式,方便你在專案中實現。
謹記,使用其他人開發的程式碼總是有風險的。它可能會以你意想不到的方式改變程式的行為。備份原始程式碼,這是常識。
3 – 向更有經驗的程式設計師詢問
你有沒有碰到過這樣的情況,向其他人求助卻發現你甚至不知道自己在問什麼?
在詢問任何人之前,你得準備好一些你無法通過網路資訊搜尋解答的問題。
明確的問題,才能有明確的解決方案。如果是你自己都描述得雲裡霧裡的問題——那麼你只會得到一個雲裡霧裡的回答(並且可能會惹惱他人)。
如果你周圍沒有任何開發者可以詢問,那麼也可以線上查詢。你可以在StackOverflow或MSDN社交論壇上詢問,或查詢特別針對於你所用技術的Slack頻道。
4 – 如果一切都失敗,那就瀟灑放手
不要一心鑽在死衚衕裡,實在不行,那就去幹點別的事——睡覺,吃東西,等等。
你覺得這是在逃避工作?那就錯了。
我要告訴你的是,當你最輕鬆的時候,往往正是解決辦法靈機一現的時候,這不是我胡編亂造的,而是有科學的證明。此時你的大腦工作在“發散思維”的模式下,而不是在“集中注意力”的模式下——你可以在這篇文章中瞭解之間的差異。
總的來說,這個理念就是要你忘記手頭的問題,讓你的意識心靈沉浸到其他的事情中。此時,你的潛意識則開始連線要點,朝著頓悟的方向前行。
我們可以做些什麼以便於幫助大腦在發散思維的模式下工作呢?放輕鬆就好了:
- 散步(古代哲學家非常習慣於在走路時演講,因為他們意識到走路有助於思考)
- 清理辦公室或住所(完成後給自己一個獎勵)
- 與朋友約會,和杯咖啡,聊聊八卦(如果你過於關注問題的話,那麼建議和不能提供幫助的非編碼人員交談)
總結
我在程式設計和生活兩者之間保持了一種健康的平衡。
無論你是為了興趣愛好、錢還是改變世界的巨集圖偉業而選擇程式設計——程式設計都不應該是你唯一痴迷的東西,否則你會走火入魔。
最後再說一句,如果你絞盡腦汁,卻仍然無法解決問題,那麼不妨先放一放。通過潛意識的運作,搞不好突破性的想法就會靈光乍現。
譯文連結:http://www.codeceo.com/article/what-to-do-programming-sucks.html
英文原文:What Do You Do When Programming Sucks ?
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 當程式設計師寫不出程式碼了,該怎麼辦?程式設計師
- 當程式設計師寫不出程式碼了……程式設計師
- 程式設計師工作時被打斷了該怎麼辦?程式設計師
- 為什麼我們程式設計師寫不出好程式碼?程式設計師
- 程式設計師寫了一個新手都寫不出的低階bug,被罵慘了。程式設計師
- 為什麼程式設計師應該少寫程式碼程式設計師
- 程式設計師應該每天寫程式碼程式設計師
- 一個當了爹的程式設計師的自白程式設計師
- 程式設計師累了怎麼辦?程式設計師
- 應該怎麼管理程式設計師?程式設計師
- 三個程式設計師在寫程式碼程式設計師
- 程式設計師職場遇到這樣的事該怎麼辦呢?程式設計師
- 程式設計師該怎麼“討好”上級程式設計師
- 那些把公司當家的程式設計師,後來怎麼樣了?程式設計師
- 程式設計師寫程式碼時應該反覆問自己的10個問題程式設計師
- 超過三十歲就不適合寫程式碼了?看看國外程式設計師怎麼說程式設計師
- 李喆:程式設計師到底怎麼了程式設計師
- 我就差一個程式設計師了!程式設計師
- 你可以去當程式設計師了程式設計師
- 新時代程式設計師都用什麼寫程式碼?程式設計師
- 程式設計師的工作就只有寫程式碼麼???程式設計師
- 當一個Web前端程式設計師想改我的後臺程式碼時程式設計師的樣子Web前端程式設計師
- 天天寫業務程式碼的程式設計師,怎麼成為技術大牛程式設計師
- 怎樣尊重一個程式設計師程式設計師
- 程式設計師如何寫出好程式碼?程式設計師
- 好程式設計師不寫程式碼程式設計師
- 程式設計師這樣寫程式碼程式設計師
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師
- 糟糕的、差勁的,以及不該來當程式設計師的程式設計師程式設計師
- 為什麼程式設計師千萬不要重寫程式碼?程式設計師
- 招一個寫程式碼的女生:國外女程式設計師是什麼樣的程式設計師
- 寫給程式設計師:當自己的上帝程式設計師
- 當了程式設計師之後?(真心話)程式設計師
- 程式設計師只能吃青春飯?程式設計師該怎麼規劃自己的未來程式設計師
- 作為一個Java 程式設計師 你應該會什麼Java程式設計師
- 一位39歲程式設計師的困惑:知道得越多程式設計越慢怎麼辦?程式設計師
- 程式設計師做的不開心怎麼辦?程式設計師
- 當“健康碼”系統遭遇DDoS攻擊了該怎麼辦?