Soft_Job 板


LINE

小弟目前剛好也是在一家新創工作,coding資歷不滿一年 公司剛好也是用 JS開發,剛好可以來分享個經驗 ※ 引述《wandallin (萬大林)》之銘言: : 1. PR要merge的時候做Squash,因為這樣git tree比較好看 個人習慣問題?我一開始也是通通commit上去,後來發現很醜 所以才逐漸會用 squash 整合commit 不過用 squash 後就會開始思考:哪些 commit 該留哪些不該留 很多就只是暫存用的 commit 或者是多餘的 commit commit 上去根本只是干擾追蹤程式演變 所以個人是認為說 git tree 好看不好看,應該不是你們討論的點 如果真的要好看的話,那push上去之前通通squash成一行 commit 或者只留下 merge XXXX,可是這有意義嗎 囧 所以說這其實是開發者之間溝通好就可以 : 2. function超過一百行,就想要拆出來 一個函數 >100 行就想要拆出來,這完全是我的寫照 理由就是可以拆成一個最小工作單元好維護、好規模化 甚至你要重複程式碼也很好複製貼上(誤 寫成一個兩三百行的code,要重複利用就需要花點時間 不過這基本上是在寫code階段就可以決定的了 例如這個函數有5個步驟,每個步驟可能可以各自寫成工作單元 所以我常常被主管唸說拆太小了(遮臉) 我剛看一下我的函數蠻少超過 100 行,很多都在50行內就解決了 另一個類似問題就是每行字數,像我們前端就是約定好每行不超過80 不過後端工程師他們有各自的習慣,所以在後端code就是120 : 3. 完全遵照eslint的規範,任何warning都不能出現 eslint是個好東西! 但eslint要注意的是,他每個規則不是強制性的 而是要按造開發習慣,去客製化自己的規則 比方說他有些規則是 prefer-destructuring, prefer-template 這種 老實說真的要用解構或者用template字串嗎...? 並且當你用 eslint 這種靜態程式碼檢查工具, 他的用意就是提醒目前的code沒有遵守你預先設定的規則 所以這些 warning, error 就是告訴你違反了自己設定的規則 如果不想修這些 warning 或者 error 那就是應該把他從code裡面 用 /* eslint-disable XXX */ 或者從 eslintrc 裡面把規則移除,或者放大絕 yarn remove eslint XDD 其實問題並不是在 eslint ,而是團隊間怎麼溝通這個規則吧 : 4. 時常想回去重構程式 : 5. 想把所有非同步的function都改成promise 其實這兩點是一樣的:重構程式 重構程式是個良好的習慣,他在改善舊有的程式碼 增加程式可讀性、可維護性 例如打開 legacy code,有時候真的是要邊寫測試邊重構 才能把需要的新功能加上去... 但個人是覺得有時候重構要看時間 如果現在要開發一個新功能, 然後同事在那邊說:沒空,我手上程式還沒重構完 你或者老闆你應該會想掐死他 更何況新創生死存亡都在一瞬間了XD... 有些技術債就等活著的時候再來還了 : 6. 想導入TDD以及jest,讓系統減少錯誤發生機率(目前沒人會這東西) 這點我有深刻體驗,我們前端沒有很嚴謹的測試 所以有次我 push master 結果上線後整個網站死掉 幸好我們有完整的ci/cd,很快就rollback 到前一個版本 我一整個嚇到漏尿,我後來就補上一些可以很快檢查出錯誤的測試 經過那次慘痛經驗後,基本上能寫測試的我都會寫測試 除了增加程式信心度,同時也可以去思考哪些是預期行為哪些不是 不過有時候新功能要緊,所以通常都是寫核心功能的測試 剩下的再慢慢補上去 : 7. 註解盡量刪除,只留jsdoc,減少封裝程式碼 jsdoc是個好東西,提示參數資料型別非常好用 註解要不要寫要不要留,真的是見仁見智 我們目前註解都是用來做注意事項或者todo 至於用減少封裝程式碼來說刪除註解... 現在 js 在 production 環境應該都有用封裝的程式,例如 webpack 就可以直接用 uglifyjs 去把程式碼的註解全部移掉還幫你最小化 這方面有現有的套件幫你做掉了XD 所以其實看一下... 很多都內化成平常的習慣了 哈哈 不過這種開發守則,要不要遵守就是看你們公司了~ 大不了就是技術債而已XD 不過新創公司能不能還技術債還是問題呢 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.237.91
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1524588404.A.4A4.html
1F:推 ernieyang09: 直覺也是第七點根本沒差 04/25 01:11
2F:→ deray: 良幣 04/25 12:29







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping 或 站內搜尋

TOP