[爆卦]寫程式 很 慢是什麼?優點缺點精華區懶人包

為什麼這篇寫程式 很 慢鄉民發文收入到精華區:因為在寫程式 很 慢這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者awert ( )看板Soft_Job標題Re: [請益] 程式寫太慢..時間Sat Sep 2...

寫程式 很 慢 在 Jamie醫學日記|讀書×學習×生活 Instagram 的精選貼文

2021-09-24 16:39:58

. 【iPad介紹系列第一彈】 . 從在台大的時候開始使用iPad,到現在大概已經有四年多快五年的時間,實在覺得它對醫學生而言是個幾乎不可或缺的工具。甚至如果要我筆電跟平板只能選一個,我還是會選平板。 . (第二頁) iPad可以聊的東西很多,趁著iPadOS 15正式發布的這幾天,先介紹我桌面上的...


你要學會如何解決問題,而不是氣餒。

首先...

沒有人是什麼都會的
------------------

當你的主管拿了一份"作業",說要讓你"練習"時,我相信他多少有心理準備,
知道你不會兩三下就交出來。因此,遇到問題解不開,絕對不是什麼罪該萬死的錯。
罪該萬死的是自己不會卻沒有去想法子,死線到了兩手一攤說我不會。

程式設計師的工作,大多數的時候都在想辦法解決自己不知道答案的問題。所以...

不懂,很正常!

以後只會碰到更多不會處理的問題,但是你還是要去解決,因為這就是你的工作。


沒有問題是不能解決的
--------------------

說實際一點的話好了,你既然是新人,那麼你所遇到的問題,通常都是可以處理的。
如果真的那麼難的話,你也不會在這裡發文問這種問題了。

不會很正常,問題又一定有解法,那麼還有什麼好擔心的 ?


解決"不會解決問題"的問題
------------------------

既然問題是有解的,那麼就只剩下找解法。怎麼做 ?

這個問題不好回答,因為我不清楚作業內容是什麼,不瞭解你的程度,也不知道你
卡在什麼環節上,更不曉得你做過了什麼樣的努力。但就我自己本身或看過的人的經驗
來說,通常都是這幾種狀況。

1. 根本不知道問題在哪

這種現象很容易出現在第一次接觸的問題上,連自己為什麼不會都講不出
個所以然來。這個時候,你就需要仔細的去思考,是什麼地方不懂。

是不知道整個程式運作流程 ?不知道用什麼的技術 ?API 看不懂不會用 ?
程式寫出來有錯不知道原因 ?

如果現在有30秒的時間讓你問一個問題,你能夠馬上完整地描述你的困境,而非
單純把問題丟出去要答案嘛 ?

不行的話,開始著手釐清。

2. 不肯(敢)提問

怕被別人認為自己程度差,怕煩到同事前輩。明明答案只需要開口就有了,卻
不願意去問。大部份的程式設計師工作的時候,都身處於一個開發團隊裡。身為
團隊的一員,幫助同儕解決問題,本來就是應該的,更何況是幫助新人 ?而且我
認為會去做程式設計工作的人,大部份都樂意於幫忙解決程式上的問題。

溝通、合作是程式設計師的工作之一,因此不要怕和同事提問,他們可能都正預
期著你會問問題,如果不肯提問而造成工作無法達到目標,真的就是因小失大,
而未來你也該抱著如此的心態去幫助同事。

如果沒有同事,或是同事真的沒辦法幫你解決問題 ?

網路上多的是程式的討論區,到處都有高手等著你發問,豈有藉口說沒人能問 ?

3. 不會找資料

上面剛剛也說過了,問題通常早就被人問過,被人解決過了,可是在 Google 找
半天卻找不到解答,很多時候都是找的方式有問題。例如:Google 收尋時關鍵字
只打中文、只看中文網頁、不看技術文件... 云云,這些都是有問題的。拿英文
不好當藉口是不能讓問題消失的,資料來源範圍當然是越大越好。

程式上的問題通常關鍵字以錯誤訊息、API來當作條件會是一個好的開始。找到
的資料太發散時,就多加一些和你問題有關的關鍵字。如果還是找不到,技術文
件通常會是一個很好的資料來源。如果完全沒有東西,那你可能是關鍵字範圍太
細,試著用英文描述問題的關鍵字,Google 會幫你多找出不少內容。

4. 你累了嘛?

寫程式是很燒腦力的事,為了解決問題而長時間不休息,只會讓效率更差。甚至
過度加班、熬夜使身體得不到休息,結果隔天精神更差。壓力很容易造成這種
惡性循環,你必需要學會處理這些壓力,並適度的讓你的身心休息。上洗手間、
喝水,找事離開座位幾分鐘走一走,腦袋休息一下。有時候在來回的路上你就會
靈光一閃。


如何提問
--------

雖然我說的好像大家都等著你發問,非常的美好。但現實生活上,你的同事都有自己
的工作要負責,就算你隔著螢幕問著住在世界另一端的大大,他也有自己的現實生活要忙
,因此有些準備工作你必需要先做好。

1. 想清楚你要問什麼問題

如果要問什麼都不清楚的話,要如何期待別人給出滿意的回答 ?花時間想辦法
弄清楚想問的東西,把範圍縮小,絕對不要拋出一個無邊無際的問題。

如果想問的是程式的問題,較好的方式是想辦法弄出一個可以重現問題的範例,
這個作法叫做 SSCCE (Short, Self Contained, Correct (Compilable),
Example, http://sscce.org/ )。為什麼要這樣做 ?一方面是讓回答的人可以
在很短的時間裡了解你的問題;另一方面是,在重現的過程中,你有很大的機會
摸索出問題癥結所在。

2. 提問前先嘗試解決

千萬不要因為問了就有答案而拼命提問,很少有人會喜歡回答一個去 google
就有一堆資料的問題。程式有 bug 找不到問題 ?試著一行一行的把程式解釋
給自己聽( http://en.wikipedia.org/wiki/Rubber_duck_debugging )。答案
有時候其實都在眼前。

3, 尊重對方的時間

雖然幫助同事是應該,但不要忘了公司裡的每個人都有自己的事要忙。整理好你
的問題,一次問完,不要每十分鐘就跑去打斷對方工作。如果不確定對方是否有
空幫你,那麼就問是否有適合的時間能和他請教。

要講的話還有很多可以講,有空時可以讀讀這篇,雖然有點舊了,但仍然是很好的一篇文
章。

提問的智慧(How To Ask Questions The Smart Way)
http://www.chweng.idv.tw/smart-questions.php


--
We who cut mere stones must always be envisioning cathedrals.

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.186.241
strangehead:推這篇,不光是寫程式,很多方面都是這樣 09/22 02:41
howy:強力推,受用不盡 09/22 03:50
forthewill:推 09/22 04:15
henrik:不只是寫程式的要看! 團隊合作的都該看 09/22 06:11
ninepoints:這篇寫得真好!光是知道問題在哪都要練很久 09/22 09:11
gmoz:推SSCCE 我也是無中生有自己習得這個方法XD 09/22 09:20
SYC1205:這一定要推一下 09/22 09:22
sunflier:推這篇~ 09/22 10:07
jack089452:有看有推 09/22 11:06
bobju:請教問題要請吃飯. 09/22 11:11
blackie1019:推一個 熱心教學 09/22 11:46
kewang:大推這篇! 09/22 12:06
CHeagleeye:大推!!寫得真好!! 09/22 12:43
andymai:好用心~推~~~ 09/22 13:09
wtvwtvwtv200:推~ 09/22 13:22
mynoid:推~~ 09/22 18:26
lovelycateye:推這篇 09/22 19:12
pttfly:推這篇 09/22 19:43
kiii210:大推.. 你累了嗎~~ 09/22 22:49
a558815:自己先嘗試過解題很重要 至少對方會覺得你有先自己做功課 09/24 00:23
kkc0828:好文~~ 09/24 00:51
o07608:朝聖 02/02 22:29

你可能也想看看

搜尋相關網站