推 Astar5566: doxygen大法好 12/28 23:04
→ Astar5566: 看開源專案少之又少的註解真的是種磨練 12/28 23:04
→ Ghamu: 我覺得我的code是越寫越簡單 拆分越來越細 不太懂你說除非 12/29 04:44
→ Ghamu: 程式碼很簡單是什麼意思 工程師不是本來就應該要寫簡單好懂 12/29 04:44
→ Ghamu: 的程式碼嗎? 簡單應該是常態 複雜是非常泰吧? 12/29 04:44
可惜隨著功能愈來愈強大,程式碼自然就愈趨複雜。
把複雜的 module,拆分成獨立 tiny module,每個 module 都變得精簡,
這樣增加了可讀性、重複利用性、可維護性,是工程師該做的。
但其實沒有把 code 變得簡單,只是把一個 function 能做的事,
變成一堆 function 合起來作。
當我一個 function 裡面 call 了 100 個其它的 function;
或者 function flow 拉得很長,跨越了 100 個 function。
也許我每個 function 都通俗易懂一目瞭然,不用註解,
但還是得花時間看完這些 code 才懂這 100 個 function 合起來是在幹嘛。
而這個時間,也許只要兩行註解就可以代替。
想像一個具有 100 個 event 的 event sysem,
event 間另有交互合作及互斥關係,
也許每一個 event 都只用了兩三行 code,一看就明白,
所以不需要註解這個 event 在幹嘛。
但其它的人,光是要找到其中一個 event 就很花時間,
更不用說這個 event 牽涉到其它的哪些 event。
function event1_handler()
{
code line 1...
code line 2...
}
這樣超簡單的 event,不用註解嗎?
我覺得要,註解可能會長這樣
// event 1 affects
// - event 22
// - event 36
// - event 47
// - ...
// and NOT used concurrently with
// - event 7
// - event 71
但類似這種註解會需要花很多時間維護,
所以我個人會建議記錄成一張表格就好。
→ RapidGrowth: 其實還是有else, 只是被當default case, 我認為這樣 12/29 08:25
→ RapidGrowth: 還是不嚴謹的 12/29 08:25
※ 編輯: babelism (59.127.94.119), 12/29/2018 11:20:08
推 philip80220: 推 12/29 12:00
→ RapidGrowth: 沒有看前篇文章就回了 12/29 13:15
→ RapidGrowth: 我的看法跟前篇文章是比較相似的。前篇他那種寫法只 12/29 13:22
→ RapidGrowth: 是視覺上難看,其實邏輯上是比較清晰的,非常嚴謹, 12/29 13:22
→ RapidGrowth: 真的產品要夠stable的話,這些是避不掉的。雖然我覺 12/29 13:22
→ RapidGrowth: 得有可以深層套嵌的寫法,但並不是簡單的不處理else 12/29 13:22
→ RapidGrowth: 分支。 12/29 13:22
→ RapidGrowth: 更正:有可以避開深層套嵌的寫法 12/29 13:23
推 kyrie77: 推這篇 12/29 20:36
→ rofellosx: 我比較討厭各家語言簡潔if寫法.. 01/02 08:36