[請益] 沒註解的專案該如何維護

看板Soft_Job作者 (mickey)時間8年前 (2017/07/19 21:16), 8年前編輯推噓22(25336)
留言64則, 36人參與, 最新討論串1/2 (看更多)
爬了一下版規,如果有觸犯到,再刪文 謝謝 幫朋友代PO 最近接手公司的新專案,結果發現該專案 幾乎完全沒註解,可能一個檔案裡面 註解不超過10個字,也沒手冊 雖然變數名稱那些都是用"有意義的英文"命名 大致上能猜得出"可能是跟什麼有關" 例如薪資單可能是A檔案,但A檔案中又一堆function 目前只能從MVC開始慢慢追,想請問版上的前輩們 如果遇到這種專案維護,有什麼技巧可以快速入手的 問公司的前輩,意思是摸索久了,自然就會記得了 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.194.96 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1500470195.A.D26.html

07/19 21:26, , 1F
需要的時候再改,不需要勉強自己全部吸收
07/19 21:26, 1F

07/19 21:28, , 2F
個人認為寫code最好能做到"程式本身即註解"
07/19 21:28, 2F

07/19 21:29, , 3F
除非某處需要註解當時的spec或不合常規的需求,我才會註解
07/19 21:29, 3F

07/19 21:29, , 4F
幾年下來,年輕一輩的還是認為我的程式讀起來沒什麼問題
07/19 21:29, 4F

07/19 21:30, , 5F
一點點分享:)
07/19 21:30, 5F

07/19 21:43, , 6F
從資料流去看吧,按下什麼button,會到哪個function
07/19 21:43, 6F

07/19 21:44, , 7F
摸透了寫成文件偷偷藏著(X
07/19 21:44, 7F

07/19 21:49, , 8F
程式碼不就是最好的註解了...
07/19 21:49, 8F

07/19 21:49, , 9F
資料流+1 從入口到終點整個看過至少知道流程
07/19 21:49, 9F

07/19 21:50, , 10F
Clean code的概念啊,不過怕是Clean code的不註解概
07/19 21:50, 10F

07/19 21:50, , 11F
念下寫的Code卻不Clean
07/19 21:50, 11F

07/19 21:54, , 12F
一堆人以為自己code很好讀 然後說不用註解= =
07/19 21:54, 12F

07/19 21:54, , 13F
寫的清楚加好的註解就是事半功倍啊
07/19 21:54, 13F

07/19 21:55, , 14F
不然每個人認為的好讀根本天差地遠
07/19 21:55, 14F

07/19 22:02, , 15F
我是先找入口點,然後找尾端(存取資料庫),接著看中間有沒
07/19 22:02, 15F

07/19 22:02, , 16F
有粗略歸納出幾層
07/19 22:02, 16F

07/19 22:03, , 17F
如果有稍微分層或是分模組,那大概的雛型就有了,接著再慢
07/19 22:03, 17F

07/19 22:03, , 18F
慢根據功能點去追細節
07/19 22:03, 18F

07/19 22:05, , 19F
從主要button點下去開始追資料流了...
07/19 22:05, 19F

07/19 22:24, , 20F
X! 程式碼就是最好的註解無誤 聽前人說明還不如我自己看
07/19 22:24, 20F

07/19 22:26, , 21F
然後還從無註解的舊架構翻成新架構 練功MAX
07/19 22:26, 21F

07/19 22:44, , 22F
有沒有看過註解錯的程式 這樣我倒不如不要註解
07/19 22:44, 22F

07/19 22:48, , 23F
如果是C#有做summary維護效率差很多
07/19 22:48, 23F

07/19 22:49, , 24F
你要的是一整個架構的spec吧? 我發現其實這種東西不多
07/19 22:49, 24F

07/19 22:49, , 25F
而且因為長年修修改改 也未必準確...
07/19 22:49, 25F

07/19 22:50, , 26F
從流程下去追 問前輩"為什麼這樣處理" 反而比較快
07/19 22:50, 26F

07/19 22:53, , 27F
半調子而且還跟code不同步的註解才是恐怖
07/19 22:53, 27F

07/19 22:59, , 28F
程式碼要當註解,也要參數跟方法有好好寫啊
07/19 22:59, 28F

07/19 23:00, , 29F
曾經遇過接手的老專案,class叫a01跟b01這樣的
07/19 23:00, 29F

07/19 23:12, , 30F
先問用途 從上往下看快太多
07/19 23:12, 30F

07/19 23:17, , 31F
這個只能認命追了
07/19 23:17, 31F

07/19 23:51, , 32F
邏輯流
07/19 23:51, 32F

07/20 07:54, , 33F
有用框架會比較好追,像react、mvp,沒有就要看他命名
07/20 07:54, 33F

07/20 07:54, , 34F
07/20 07:54, 34F

07/20 09:14, , 35F
二樓根本答非所問....只想說自己的事情
07/20 09:14, 35F

07/20 11:45, , 36F
靠ide去追code了
07/20 11:45, 36F

07/20 12:44, , 37F
少在那邊 99%的程式都爛到無法自我表達好唄 乖乖寫你的註解
07/20 12:44, 37F

07/20 14:30, , 38F
寫註解不是很基本的概念嗎?為什麼一堆人不寫
07/20 14:30, 38F

07/20 16:03, , 39F
clean code的概念是有些人寫了註解就懶得重構
07/20 16:03, 39F

07/20 16:03, , 40F
重構+適度的註解才比較好讀懂
07/20 16:03, 40F

07/20 16:05, , 41F
事實是 拿我寫clean code藉口說看程式就好不用寫註解 註解
07/20 16:05, 41F

07/20 16:05, , 42F
只會過時的 通常code一點也不clean
07/20 16:05, 42F

07/20 16:06, , 43F
連註解都不肯好好維護 哪有心寫clean code?
07/20 16:06, 43F

07/20 16:07, , 44F
而且clean code也沒全反對註解 該解釋的就好好解釋清楚齁
07/20 16:07, 44F

07/20 16:08, , 45F
看個案吧~ 不過目前能run得好好的東西就盡量別去動
07/20 16:08, 45F

07/20 18:16, , 46F
沒註解好過註解騙你
07/20 18:16, 46F

07/20 18:31, , 47F
註解騙人的真的很慘
07/20 18:31, 47F

07/20 19:34, , 48F
有意義的命名跟注解沒啥兩樣,如果你不懂為何要這樣做,
07/20 19:34, 48F

07/20 19:34, , 49F
一樣都看不懂
07/20 19:34, 49F

07/20 22:43, , 50F
多半都是自以為易讀實際是爛code
07/20 22:43, 50F

07/20 22:45, , 51F
那種懶、隨便的心態寫出來的東西 最後都很多藉口
07/20 22:45, 51F

07/21 08:05, , 52F
因為有些人覺得寫註解很low
07/21 08:05, 52F

07/21 09:45, , 53F
你不知道以後程式都給AI寫嗎?
07/21 09:45, 53F

07/21 09:45, , 54F
註解只是用來幫助記憶或給不懂的人看的
07/21 09:45, 54F

07/21 09:46, , 55F
易讀? 哪考慮那麼多 案子先處理掉 接下來就是下個人的問題了
07/21 09:46, 55F

07/21 10:14, , 56F
所以說懶就承認 把「會被註解騙」拿來當藉口的 寫不出什麼
07/21 10:14, 56F

07/21 10:14, , 57F
clean code的啦 賣鬧阿
07/21 10:14, 57F

07/21 15:14, , 58F
當一支報表數十個欄位,我寧願用數字排列加上對應清單
07/21 15:14, 58F

07/21 15:14, , 59F
還比較好
07/21 15:14, 59F

07/21 21:37, , 60F
啥邏輯劉?沒看過有人寫個FUNCTION全部擠一起3000行?
07/21 21:37, 60F

07/21 22:31, , 61F
公司前輩的code都沒註解,但我一目了然
07/21 22:31, 61F

07/22 10:05, , 62F
原來不寫註解是因為懶0.0
07/22 10:05, 62F

07/22 18:34, , 63F
在職時滿註解,離職後clean code。這樣有了解嗎~~呵
07/22 18:34, 63F
感謝熱心的建議,朋友是說因為是不同團隊 所以風格上有些差異,原團隊雖然命名比較不嚴謹 不過因為都有文件跟架構說明,function也有註解說明 所以才求救看有什麼經驗處理,感謝~ ※ 編輯: mickeyboy (36.234.192.141), 07/23/2017 21:08:06

07/23 22:10, , 64F
先搞懂那系統是幹麻用的 怎麼用 再來追吧
07/23 22:10, 64F
文章代碼(AID): #1PRrkpqc (Soft_Job)
文章代碼(AID): #1PRrkpqc (Soft_Job)