Re: [心得] 帶新人的感想

作者: art1 (人,原來不是人)   2019-01-27 01:17:37
※ 引述《a126sam01 (北川景子是我的老婆>///<)》之銘言:
: 各位年收300萬的大神午安~
: 小弟是沒寫過程式,想半路出家拚一拚的人
: 我目前已報名AXXXa CXXp,期許自己前後端都要會一點這樣
: 以後可以朝全端工程師之路邁進~
: 看到這串討論,突然覺得各種中箭0.0a
: 那我想請問大神們(乖學生式舉手)
: 以下三題想煩請大家有空能給小弟指教
: (以自身服務的單位來回答就OK,有帶過人的更是感謝>_<)
: 1. 當大家在Junior菜逼八時期,通常會遇到哪幾類問題?
我看過的幾個不會寫程式的新手在學程式的時候遇到的問題
1.打錯字
2.看不懂英文顯示的錯誤訊息(英文能力太差的另一種說法)
3.無法想到錯誤訊息其實是打錯字造成的
4.少了分號、多了空格、大括號、中括號、小括號沒看清楚等等,總之就是沒照編譯器
或直譯器能接受的格式撰寫程式碼
連這些問題都無法自己搞定的初學者,我是覺得沒什麼希望繼續走寫程式這條路
可以搞定這些問題之後,就會開始遇到沒出現錯誤訊息,但執行結果卻與期望不相符
這時候就要自己看程式碼找出問題所在
出現這種情況的原因很多,最主要就是腦中想的跟輸入的程式碼有差距
像有次把設定變數的值放在迴圈外面,導致只有第一次執行是正確的,之後都是錯的
或是有一次以為這個函式是這個作用,結果是另一個作用,還上網發問之後才注意到
為了減少這種差距導致的臭蟲,通常是一次一小步的寫比較好,但熟悉寫程式之後就會
想要一次寫一個段落,然後期待一次完美過關,實際上卻很少出現這種情況,總是要回
頭找出這種差距發生在哪邊
: 2. 承前題,在"Google" or "Stack overflow" 上面通常是怎麼下關鍵字,
: 來找到自己的解答呢?
若是某功能不知道怎麼做,就是把描述該功能的一些詞拿去搜尋
我印象最深刻的是磁性吸附這功能,也就是在拖曳物件時,不需要完全對準就會在小於
某個距離之後自動貼到能結合的物件上,不過這是中文的描述詞,反而不知道英文的正
確術語是什麼,會知道這個詞也是在 github 看別人的專案時看到的,在那之前都不知
道該這樣描述
若是出現沒看過的錯誤訊息、或是不知道怎麼解決的錯誤訊息,就是直接搜尋錯誤訊息
若是想找某問題是不是存在某種解法,就試著把可能的詞拿去搜尋
例如寫網頁時,要為很多很多的單選按鈕綁定同一個事件處理函式,難道沒有除了使用
迴圈以外的作法嗎? 使用「大量單選按鈕」跟「事件」去搜尋,一直到十幾筆才出現
想要的結果,也就是事件委派的做法,因為出現了這樣的句子「為大量的元素建立事件
監聽器會使瀏覽器效能大幅降低」
: 3. 最後那還有大家是怎麼判斷說,這些code 或指令剛好是解答呢?
: (比方直接貼到編譯器裡面跑跑看?)
這就是考驗閱讀程式碼看出其中邏輯的能力了
看著對方的程式碼,自行解釋這句在做什麼,那句又在做什麼
只要能正確解釋,就能知道那是不是想要的解答了
把腦中想的功能寫成程式碼,解讀程式碼實現了哪些功能,是務必要掌握的能力
: p.s 我會努力好好學習,不會給大家添麻煩的 OAO
: ※ 引述《tbpfs (http://0rz.tw/Uk989 )》之銘言:
: : 我怎麼覺得你帶的有問題
: : 給魚吃跟教釣魚是兩件事
: : 如果是問是從通訊軟體問的
: : 就回他這種影片
: : http://it-easy.tw/lmgtfy/
: : 如果在座位上問就直接教他咕狗
: : 不用半年,有點羞恥心的人一週就會咕狗了
作者: zo6596001 (超帥肥宅)   2019-01-27 01:29:00
看了你的敘述,查「javascript snap」出現「interact.js」這個東西,應該就是了吧?
作者: Gaitz (喵喵喵)   2019-01-27 01:34:00
TDD 值得新手擁有
作者: zo6596001 (超帥肥宅)   2019-01-27 01:35:00
下面的那個,應該是getElement就好了吧? 我不太清楚
作者: art1 (人,原來不是人)   2019-01-27 02:05:00
TDD實行起來還要面對不知道該怎麼寫測試的問題卡在寫測試上面,實在太令人心痛
作者: scott0327 (yoyoyo)   2019-01-27 02:12:00
我很常自己想的結果和電腦想的不一樣耶,每次都恨自己沒天份
作者: bill42362 (酒池肉林夜夜生科)   2019-01-27 02:15:00
第四點可以考慮裝 linter 和 prettier @@"
作者: art1 (人,原來不是人)   2019-01-27 02:21:00
把要處理的問題簡化是最不容易出現差距的作法,一次只驗證一個部份,例如操作資料庫,一次只寫一種功能並驗證而不是CRUD都寫完才開始驗證
作者: devilkool (對貓毛過敏的貓控)   2019-01-27 10:12:00
我剛開始學寫測試也是常卡,但還是得寫啊
作者: Gaitz (喵喵喵)   2019-01-27 10:46:00
TDD 除了測試優先可以讓他先思考輸入輸出之外,還有 baby step 的概念也很重要,一次只處理一點,還有綠燈重構。

Links booklink

Contact Us: admin [ a t ] ucptt.com