你已經(jīng)對著電腦n個小時了。不知道該寫什么代碼,或者一種摔鍵盤的沖動正在你的胸中醞釀。
咖啡一杯接著一杯。不敢再喝了,因為搞不好要有副作用了,心跳加速,身體不由自主地顫抖,出冷汗,但還是無法產(chǎn)出任何代碼。
所有重新發(fā)現(xiàn)編程趣味的努力都徒勞無功,因為你的最后一點能量都用來驅(qū)逐大腦中正在攻城略地的話:
“我寫不出代碼了!”
編程的本質(zhì)是棘手
即使是最優(yōu)秀的程序員也會遭遇無法解決的軟件工程問題。碰到這樣的問題,并不一定意味著你缺乏技能或知識。
編程不是一項容易的工作,我們可以通過采取非正統(tǒng)的方法來保持你想要的生產(chǎn)力水平,并確保提交高質(zhì)量的代碼。
如果我在一個問題上花了幾個小時,卻仍然找不到解決方案的話,最后我會覺得這是浪費了時間。我不是胡言亂語——我只是覺得“沒有人能夠百死不悔”。
沒有憤怒和悲傷。因為我已經(jīng)嘗試過所有方向,只是都走不通而已。失去希望,于是開始想辭職不干。我覺得自己應(yīng)該換工作,去做做調(diào)酒師或其他,至少研究和測試在啤酒中加點什么不會耗去我數(shù)個小時的時間。
這些都是我在不敲代碼時的想法。我開始懷疑生活,懷疑編碼,懷疑人生。
有成效不?好吧,我從來沒聽任何專家說過“辭職和萎靡不振”可以造就偉大的代碼,所以可能并沒有成效。
這就提出了一個問題:我們該如何避免這種沒有成效的狀態(tài)?
重新發(fā)現(xiàn)問題,重新發(fā)現(xiàn)你的生產(chǎn)力
可能你已經(jīng)行進在這條路上了。那么此時你只要繼續(xù)就可以了,我可能沒有什么新的東西可以告訴你的。
如果你是新手,那么可能你還不知道如何重新發(fā)現(xiàn)生產(chǎn)力。
下面我要分享的內(nèi)容將有助于你在編程時以一種健康的方式保持生產(chǎn)力,不至于筋疲力竭。主要包括:
測試不同的解決方案,直到感覺重復(fù)
在線尋找開源解決方案
向更有經(jīng)驗的程序員詢問
如果一切都失敗,那就瀟灑放手
1 – 測試不同的解決方案,直到感覺重復(fù)
在你研究或詢問其他開發(fā)人員(=浪費他們的時間)之前,你應(yīng)該嘗試使用你現(xiàn)有的知識和思維來制定每一個可能的解決方案。
顯而易見的是,太多的程序員是從詢問他人開始的,自己甚至都不曾靜下心來分析問題本身。不要成為這樣的討厭鬼,盡可能不要浪費別人的時間。
先投身于工作,然后再尋求幫助。
2 – 在線查找開源代碼
當(dāng)你投入于工作,卻沒有什么成果的時候,那么下一步你可以嘗試開源代碼。許多編程人員構(gòu)建軟件,是出于創(chuàng)造解決方案并在線發(fā)布以供大家使用的樂趣。有些人發(fā)布的代碼曾被它們的程序員使用于商業(yè)項目。
GitHub 是尋找開源代碼的兩個主要地方之一。另一個是 StackOverflow。
這些網(wǎng)站的解決方案是采用可重用代碼的形式,方便你在項目中實現(xiàn)。
謹記,使用其他人開發(fā)的代碼總是有風(fēng)險的。它可能會以你意想不到的方式改變程序的行為。備份原始代碼,這是常識。
3 – 向更有經(jīng)驗的程序員詢問
你有沒有碰到過這樣的情況,向其他人求助卻發(fā)現(xiàn)你甚至不知道自己在問什么?
在詢問任何人之前,你得準(zhǔn)備好一些你無法通過網(wǎng)絡(luò)信息搜索解答的問題。
明確的問題,才能有明確的解決方案。如果是你自己都描述得云里霧里的問題——那么你只會得到一個云里霧里的回答(并且可能會惹惱他人)。
如果你周圍沒有任何開發(fā)者可以詢問,那么也可以在線查找。你可以在社交論壇上詢問,或查找特別針對于你所用技術(shù)的頻道。
4 – 如果一切都失敗,那就瀟灑放手
不要一心鉆在死胡同里,實在不行,那就去干點別的事——睡覺,吃東西,等等。
你覺得這是在逃避工作?那就錯了。
我要告訴你的是,當(dāng)你最輕松的時候,往往正是解決辦法靈機一現(xiàn)的時候,這不是我胡編亂造的,而是有科學(xué)的證明。此時你的大腦工作在“發(fā)散思維”的模式下,而不是在“集中注意力”的模式下——你可以在這篇文章中了解之間的差異。
總的來說,這個理念就是要你忘記手頭的問題,讓你的意識心靈沉浸到其他的事情中。此時,你的潛意識則開始連接要點,朝著頓悟的方向前行。
我們可以做些什么以便于幫助大腦在發(fā)散思維的模式下工作呢?放輕松就好了:
散步(古代哲學(xué)家非常習(xí)慣于在走路時演講,因為他們意識到走路有助于思考)
清理辦公室或住所(完成后給自己一個獎勵)
與朋友約會,喝杯咖啡,聊聊八卦(如果你過于關(guān)注問題的話,那么建議和不能提供幫助的非編碼人員交談)
總結(jié)
我在編程和生活兩者之間保持了一種健康的平衡。
無論你是為了興趣愛好、錢還是改變世界的宏圖偉業(yè)而選擇編程——編程都不應(yīng)該是你唯一癡迷的東西,否則你會走火入魔。
最后再說一句,如果你絞盡腦汁,卻仍然無法解決問題,那么不妨先放一放。通過潛意識的運作,搞不好突破性的想法就會靈光乍現(xiàn)。
感謝大家閱讀由java培訓(xùn)機構(gòu)分享的“當(dāng)程序員寫不出代碼了,該怎么辦?”希望對程序員們有所幫助,更多精彩內(nèi)容請關(guān)注Java培訓(xùn)官網(wǎng)
免責(zé)聲明:本文由小編轉(zhuǎn)載自網(wǎng)絡(luò),旨在分享提供閱讀,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系我們進行刪除