作者bachelorwhc (積積陰陰德)
看板Soft_Job
標題Re: 不想唸碩士了,想去刷題
時間Tue May 10 15:52:11 2022
※ 引述《hidog (.....)》之銘言:
: 刷題只要當下可以accept就好,但專案可能需要活個三五年
: 當下沒問題,但沒做好維護作業,很容易變成替未來埋地雷
: 個人覺得刷題很強跟工作很強並沒有直接劃上等號啦...
想作一下補充,維護legacy code應該算是比較吃經驗跟工程技術:
1. 判別code smell
2. 了解原code的邏輯 (願意而且能夠讀懂別人的程式碼)
3. 還要能改得對
看這位大大應該是解題能力強、做大型專案的能力也強,把code寫對跟寫好對你
來說可能已經不是問題。但以我見過很多的髒code來說,發現大部分髒code都有
一個共通點(撇除亂命名),那就是:用數倍的程式碼去達成一件很簡單的事情。
舉例來說,
1. 不知道怎麼辨別acyclic graph,寫了一百多行程式碼效率不僅差還漏洞百出
2. nlogn能解決的問題,用了n^2,效率差還寫得又臭又長
3. 不知道unordered_map怎麼使用自製的hash function,把程式碼寫得超複雜
4. 不知道如何使用自定義的comparator,手寫排序演算法還寫錯
等...罄竹難書,沒有最誇張、只有更誇張。
常見的演算法,只要不是刁鑽或罕見的題目,我相信解題至少能刷掉一些基礎不
強的工程師......
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.78.140 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1652169134.A.58C.html
1F:推 CRPKT: 除了要改對之外還有要改成怎樣的策略問題 XD 05/10 16:21
2F:推 ntpuisbest: 可以舉一個需求是把複雜度寫成n平方的嗎? 05/10 16:58
3F:推 Sunal: 前端常常看到這種 Array.map().filter(e=>e.find())....... 05/10 18:05
4F:推 Hsins: 非本科的轉職者,有些連複雜度的概念都沒有就會寫出這種東 05/10 18:07
5F:→ Hsins: 西 05/10 18:07
6F:→ laosoacj: 3,4也太扯惹吧 05/10 22:11
7F:推 a0943537986: 推推 05/14 01:04
8F:→ a0943537986: 想請問該如何增進自己的第一點”判別code smell”呢 05/14 01:04
9F:→ a0943537986: ? 05/14 01:04
10F:→ a0943537986: 很怕自己寫出別人所講的髒扣 05/14 01:04
11F:推 wulouise: Clean code, Code complete這類書可以找來看 05/14 09:50