※ 引述《xo1100 (蝦蒸河粉)》之銘言:
: 先感謝版上先進的觀看了
: 如標題的疑問
: 小弟有時候開發或除錯的時候
: 腦袋思考久了都會有點頭暈腦脹的
: 不舒服是還好
就是一個東西卡在那,前進也不是,後退也無路的『阿雜』的感覺囉
: 只是接下來都會有腦袋不太能運轉的困擾
這困擾主要是內心對於『預知』『挫折』的排斥感,
接著可能自然地發展成『拖延病』,不自覺逛逛 FB,
或看一下 plurk 有什八卦流傳著。(時間就這麼流逝惹)
: 大概是失憶到SQL下個小查詢
: 都會想個5到10分鐘的程度
只要不是太複雜的,應該是不用想那麼久。
目前的工作裡,你應該不是第 1 個寫 SQL 查詢的人
先看一下舊的、相似的功能,有沒有既有 SQL 可以參考改寫
: 然後整體進度就會越來越慢......
: 有時日報表寫下的進度會發現
: 看起來幾件不太大的事情
: 會花了我整天的時間
: 結果就是進度delay然後整個人還頭昏腦脹的 冏
知道自己的弱點,是件可喜可賀的事啊!
: 想請問前輩們
: 如果開發到腦袋無法運轉的時候
: 都是用什麼方式排解然後繼續奮鬥的
先看看文章,參考參考
《程式設計者的靜心訓練》
http://www.ithome.com.tw/node/74763
《那些做不了事的日子》
https://chingyichan.wordpress.com/2012/06/24/cannot-do-anything/
不過,這些主要是心態上的問題,總歸來講,不要太在意小範圍的 delay
要看整體來說你的『火力』輸出是否穩定,只要控制在穩定又總量在可接受的範圍
至少是一名可靠的『開發者』
(外加控制 release 週期在 PM 或老闆期望的時間,那應該大家都過得挺愉快的)
(不過這是另一個話題了)
=========================================================================
接著進入正題。你的症頭我分為 2 個方向
1. 找到適合你的思考方式
2. 做一點小計劃來輔助進度的推展
我得先承認,我不是個聰明的人。
無法做太多『心算』類型的推演或想像,勉強自己做的話,那就會...
=>『腦袋思考久了都會有點頭暈腦脹的』
透過各種工具、途徑輔助思考
認清了自己不是天才型的開發者,那就用平凡可靠的思考方法。
你也得找到適合你的方法,以我來說把問題『具象化』呈現出來會有許多幫助
或是以『文字』的型式寫在 text editor 上,透過『搬移』位置來思考邏輯關係
舉個實際的例子
拿簡單對應不同大小的批次讀取 array 元素的 offset 來說,
這東西我實在無法簡單在腦中想
但有些同事就非常拿手,在腦中想一想就能瞬間寫成 code
這對我來說太困難了,開個 google 試算表,弄個實際的例子來『具象化』
http://bit.ly/20OaNuI
再把它寫成通式,也能直接轉成 test case 的材料
以計劃代替迷惘
沒有事先計劃的情況,當我們寫到頭暈後,
可能就會進入了沒有一件事做的成的惡性循環,
或是覺得都能做,但具體來說找不到個好下手的方向的惡性循環。
無謂是『開發』或『除錯』都是能做計劃的
(大部分的開發工作,其實都只是『實作』而非前瞻性的開發,
只少極少的機會無法計劃,遇到的時候就......................再說囉)
開發要哪些計劃?以通俗的 Web App 來說,一個新的功能(需求)被開出來了
從開 DB 到對應 Model,刻 DAO、Service、Manager、View...
無謂你要從後端到前端、前端到後端都順利都無所謂,總之就一項一項列出來
每一項都完成了,並且通過了單元測試、整合測試就是完成了
(最後你人工瞄一下成果,改一下 Issue 為請求 review 或完工、deploy...)
上面提到的『一項』又『一項』的東西,都可以當成是計劃,
它可以是簡單的 checklist,或清單。
我個人是在 trello 上開了個『蕃茄鐘』的 board,放一些進行中工作的 TODOs
或是未來工作項目的『許願池』
它們是在正式的 Issue Tracker 之外的輔助工具。
蕃茄鐘 Board 裡,只留許願池與正在做的 List(做完就 archive 起來了)
http://bit.ly/20OeLDB
List 內的 Card 會對應到相關 Issue 內容轉成的 TODOs
http://bit.ly/20OdWe5
(有沒有覺得,每一項都很白話,看了就知道要做什呢!?)
一天大概吃 6 個蕃茄鐘是極限了,每一輪蕃茄鐘大概可以消 0 ~ 3 個 Item
(我是採用 一輪蕃茄鐘 = 工作 25 分鐘,休息 5 分鐘 的規律在推進)
PS. 也不總是天天都這麼弄,像週一或週五有時想完全放空或做一些『探索』,
就不管蕃茄鐘了
PS. 後續應該還有不同人會建議,總之你試著挑一個適合自己的方法唄