引用:
作者Beeru
協定,演算法,資料結構 這些是一般常提到的基本功
就以資料結構好了,怎樣知道自己實力在那一級
在先前的專案中,有一塊是要處理從網頁過來的命令,
基本上就是 分辨命令->執行命令 (抱歉,我不知道是 design pattern 的哪個模型)
其中,分辨命令部分
可以用 if + strcmp 每個命令 掃一遍
或是 hash + switch case
甚至 hash + binary search (後來我才知道這樣不一定是比較好的設計  )
當我用 hash + binary search 實作,代表我有資工大學生平均水準?
還是這只是軟體工程師一年級水準? 難不成是乞丐中的霸主?
|
我認為你可以參與一些大公司的 open source project 裡幫忙修修 bugs... ...
光從 PR 的 code review 和看大家的使用方法就可以學到很多設計理念... 也可以大概知道自己的程度在那些 open source project 程式設計師相比大概如何...
這世界上沒有「唯一」的設計... 只有從優點和缺點中去判斷哪一個比較適合而去針對當下的需求設計...
沒有用 hash + binary search 就是資工大學生,if + strcmp 就是小學生程度這種理論...
如果我需求簡單,兩個指令選擇放 consts enum,用 if 去 compare 然後寫 unit test 下去... 這沒有任何問題(除非你們走 TDD 需要先寫 unit test)。