Re: [請益] 程式該怎麼越寫越好呢

看板Programming作者 (小安)時間15年前 (2009/09/07 11:09), 編輯推噓6(6015)
留言21則, 5人參與, 最新討論串23/34 (看更多)
以我目前的程式功力, 老實說我不覺得自己有能力加入這個話題, 影像增強我也完全不了解, 只能憑猜測去理解。 下面這是我個人的一些疑問, 如果有什麼謬誤還請多包涵。 ※ 引述《H45 (!H45)》之銘言: : 程式碼非常清楚地把程式做的事情寫明白了,但是外行人沒做過影像增強根本不懂為什 : 麼要做這些事情。 : 首先,為什麼要建立 window? window 是什麼? 做什麼用的? 看實作細節可能會懂 : 但是還不如直接在上面寫些註解 : // window 是 image 的某一小塊區域,用來圈選增強單一像素所需要考慮的範圍 : 再來,為什麼要收集 pixels? : // 收集 pixels 了解像素之間的關係,動態且適應性地決定每個像素對增強結果的 : // 重要性。 : 然後,為什麼要計算 difference? 為什麼要推論 similarity? : 為什麼要做 convolution? 整個流程到底試圖完成什麼事情? 其目的是什麼? : 這些事情並不是以變數命名或是函數命名就可以輕鬆交代的 假設是個外行人看到這樣的 code, 我覺得他需要的不是從 code 去學到這些知識, 而是學完了相關背景知識才來看這些 code。 程式的 reuse 是一個重要的議題, 難道註解就不能也用 reuse 的概念嗎? 也許每一個影像增強程式都需要用到上述五行程式碼, 難道每一份我都應該做一個完整的說明? 我甚至認為在註解中放個參考書目,甚至是個教學文件網址可能會更好。 : 仍然有很多事情,像是設計樣式、多緒陷阱、演算法註記、TODO、FIXME、……等 : 還是得靠註解和文件幫忙補完 : 如果有那種完全沒有註解與說明文件的程式碼維護兩年以上的 : 請務必告知我。 我只知道一點點的設計模式, 根據我的認知, 各種設計模式似乎也有它們對應程式命名慣例, 例如看到 xxxxFactory, 就可以猜到這可能是用了 Simple Factory...等。 雖然不懂 design pattern 的人, 就無法從 xxxxFactory 判斷出這是 simple factory, 可是同樣的,我認為不懂 design pattern 的人, 應該是先透過其他方式學習 design pattern, 才回來閱讀 "使用了 design pattern 的 code"。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.18.201

09/07 11:34, , 1F
背景知識因人而異 要求不完的
09/07 11:34, 1F

09/07 11:35, , 2F
與其要求別人都先去了解已經在你腦袋
09/07 11:35, 2F

09/07 11:36, , 3F
很久的東西還不如好好寫寫該寫的註解
09/07 11:36, 3F

09/07 12:11, , 4F
回樓上的,你沒想過註解寫不完的情況嗎?
09/07 12:11, 4F

09/07 12:13, , 5F
又不是教科書。故有標準的東西點到即可
09/07 12:13, 5F

09/07 16:09, , 6F
tkcn: 你的理解沒有什麼謬誤 :D
09/07 16:09, 6F

09/07 17:46, , 7F
認同你說得 專業領域還是需要背景知識
09/07 17:46, 7F

09/07 17:47, , 8F
如果是一個複雜的演算法 要解釋的註解搞不好
09/07 17:47, 8F

09/07 17:47, , 9F
要幾百行 專業領域一個專有名詞就搞定
09/07 17:47, 9F

09/07 17:48, , 10F
而且那個專有名詞還可以當作function name
09/07 17:48, 10F

09/08 00:02, , 11F
推W120的觀念,程式註解真的很難寫的很詳細
09/08 00:02, 11F

09/08 00:02, , 12F
重點有點出來就夠了
09/08 00:02, 12F

09/08 02:34, , 13F
我說的哪裡是要去寫寫不完的註解
09/08 02:34, 13F

09/08 02:34, , 14F
拿他的例子來說好了 他如果用到了
09/08 02:34, 14F

09/08 02:34, , 15F
factory pattern,與其啥也不說明
09/08 02:34, 15F

09/08 02:35, , 16F
我認為可以加一行註解factory pattern
09/08 02:35, 16F

09/08 02:35, , 17F
這樣對這東西不熟的人至少有個暗示
09/08 02:35, 17F

09/08 02:35, , 18F
他可以自己再去查那是啥
09/08 02:35, 18F

09/08 02:35, , 19F
我是說都要求別人已經知道那是什麼
09/08 02:35, 19F

09/08 02:36, , 20F
反而可能造成後人閱讀效率不彰
09/08 02:36, 20F

09/08 02:39, , 21F
我想共識應該快出來了:好的命名和簡要的註解
09/08 02:39, 21F
文章代碼(AID): #1Af7bYQo (Programming)
討論串 (同標題文章)
文章代碼(AID): #1Af7bYQo (Programming)