PTT評價

Re: 不想唸碩士了,想去刷題

看板Soft_Job標題Re: 不想唸碩士了,想去刷題作者
bachelorwhc
(積積陰陰德)
時間推噓 6 推:6 噓:0 →:5

※ 引述《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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.78.140 (臺灣)
PTT 網址

CRPKT05/10 16:21除了要改對之外還有要改成怎樣的策略問題 XD

ntpuisbest05/10 16:58可以舉一個需求是把複雜度寫成n平方的嗎?

Sunal05/10 18:05前端常常看到這種 Array.map().filter(e=>e.find()).......

Hsins05/10 18:07非本科的轉職者,有些連複雜度的概念都沒有就會寫出這種東

Hsins05/10 18:07西

laosoacj05/10 22:113,4也太扯惹吧

a094353798605/14 01:04推推

a094353798605/14 01:04想請問該如何增進自己的第一點”判別code smell”呢

a094353798605/14 01:04

a094353798605/14 01:04很怕自己寫出別人所講的髒扣

wulouise05/14 09:50Clean code, Code complete這類書可以找來看