Re: [請益] 如何沉住氣讀別人的 code
※ 引述《Ommm5566 (56天團)》之銘言:
: ※ 引述《p52189 (鼠霸)》之銘言:
: : 如題……原始碼不長
: : 但撰碼習慣跟我完全不同
: : 到現在我也還沒找到規則
: : 以至於想改一小部分都因為不知道規則而必須幾乎全部爬一遍才改得動
: : 每次讀都很難沉住氣一下就很煩躁不想做了
: : 一直這樣很像也不是辦法
: : 請問大家有什麼方法可以坐得住嗎= =
: : 謝謝……
: : -----
: : Sent from JPTT on my HTC_M9u.
: 給原PO的答案就是 多看google fb ms 你就會覺得平常人寫code很平常
: code不好讀才是常態 就連google facebook microsoft高手也是雞雞歪歪阿
: 版本號沒遵守Semantic versioning 然後隨隨便便隨便都可以看到菱形繼承
: 建置系統像用擲硬幣決定 有相依性的library有的用cmake有的用automake
: (我看過issue: "I just want to say FUCK! waste me lots of time" 6 days ago)
: 心情好還用macro function遞迴宣告變數 IDE追不到這些變數
: 突然哪根筋不對就寫lex&yacc去parse自己規定的檔案格式
: 如果是多人貢獻一個專案 還可以看到各種風格混雜
: 1. macro派 : 絕對不會愧對GOOGLE名號的神macro function
: 2. 新潮派: 絕對不會愧對GOOGLE名號各種最新最潮的C++11玩法
: 3. C style派 : 大量typedef struct / malloc和free 我以為我在看C語言
: 4. OO派 : 超愛New和Delete 但只限於這個.h/.cpp (其他.h/.cpp使用unique_ptr)
: 5. 三位一體 : pointer/reference/ 純copy 在同一個function參數列共存
: 6. template派: 是一位很愛編譯時期決定的朋友呢
: 搞得看完整幾個相依的library我都學會所有c++ feature了
: 堂堂地表最強軟體公司也是不會統一的.......
: 至於"coding sytle" 他們通常會用clang-format去整理 所以還算一致
程式碼風格在大型專案裡頭著實是一件很難搞的事情,在很難去分高下的前提下真的要討
論往往會變成宗教戰爭,參與開源專案這幾年看過不少年薪幾百萬台幣的工程師吵風格吵
得不可開交然後又不了了之。
回到主題。閱讀他人的程式碼是一件極度需要修養的工作,除了耐心以外,老實說我也不
確定到底有啥訣竅,不過我個人蠻喜歡一個小技巧,就是幫別人的程式碼寫註解。尤其當
此次的修改需要用到別人的程式碼而且又很難啃的時候,幫忙寫點註解除了確保自己真的
有看懂以外,也可以做功德的幫助下一個可憐的工程師。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.6.62
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1517080258.A.59C.html
→
01/28 03:45,
6年前
, 1F
01/28 03:45, 1F
推
01/28 09:03,
6年前
, 2F
01/28 09:03, 2F
→
01/28 09:04,
6年前
, 3F
01/28 09:04, 3F
推
01/28 09:35,
6年前
, 4F
01/28 09:35, 4F
→
01/28 09:35,
6年前
, 5F
01/28 09:35, 5F
推
01/28 09:53,
6年前
, 6F
01/28 09:53, 6F
→
01/28 10:09,
6年前
, 7F
01/28 10:09, 7F
推
01/28 10:16,
6年前
, 8F
01/28 10:16, 8F
→
01/28 10:16,
6年前
, 9F
01/28 10:16, 9F
→
01/28 10:47,
6年前
, 10F
01/28 10:47, 10F
推
01/28 10:58,
6年前
, 11F
01/28 10:58, 11F
推
01/28 11:14,
6年前
, 12F
01/28 11:14, 12F
→
01/28 11:17,
6年前
, 13F
01/28 11:17, 13F
噓
01/28 11:26,
6年前
, 14F
01/28 11:26, 14F
→
01/28 11:26,
6年前
, 15F
01/28 11:26, 15F
→
01/28 11:26,
6年前
, 16F
01/28 11:26, 16F
→
01/28 11:27,
6年前
, 17F
01/28 11:27, 17F
→
01/28 11:28,
6年前
, 18F
01/28 11:28, 18F
→
01/28 11:28,
6年前
, 19F
01/28 11:28, 19F
→
01/28 11:32,
6年前
, 20F
01/28 11:32, 20F
推
01/28 11:53,
6年前
, 21F
01/28 11:53, 21F
推
01/28 11:56,
6年前
, 22F
01/28 11:56, 22F
→
01/28 11:56,
6年前
, 23F
01/28 11:56, 23F
噓
01/28 12:03,
6年前
, 24F
01/28 12:03, 24F
→
01/28 12:03,
6年前
, 25F
01/28 12:03, 25F
→
01/28 12:03,
6年前
, 26F
01/28 12:03, 26F
推
01/28 12:37,
6年前
, 27F
01/28 12:37, 27F
推
01/28 12:55,
6年前
, 28F
01/28 12:55, 28F
→
01/28 12:56,
6年前
, 29F
01/28 12:56, 29F
→
01/28 12:57,
6年前
, 30F
01/28 12:57, 30F
推
01/28 12:58,
6年前
, 31F
01/28 12:58, 31F
推
01/28 13:45,
6年前
, 32F
01/28 13:45, 32F
推
01/28 13:49,
6年前
, 33F
01/28 13:49, 33F
推
01/28 13:57,
6年前
, 34F
01/28 13:57, 34F
→
01/28 15:46,
6年前
, 35F
01/28 15:46, 35F
推
01/28 16:20,
6年前
, 36F
01/28 16:20, 36F
推
01/28 18:19,
6年前
, 37F
01/28 18:19, 37F
→
01/28 18:31,
6年前
, 38F
01/28 18:31, 38F
推
01/28 19:41,
6年前
, 39F
01/28 19:41, 39F
→
01/28 19:42,
6年前
, 40F
01/28 19:42, 40F
→
01/28 19:43,
6年前
, 41F
01/28 19:43, 41F
→
01/28 20:24,
6年前
, 42F
01/28 20:24, 42F
推
01/28 20:32,
6年前
, 43F
01/28 20:32, 43F
→
01/28 20:32,
6年前
, 44F
01/28 20:32, 44F
→
01/28 20:32,
6年前
, 45F
01/28 20:32, 45F
→
01/28 20:33,
6年前
, 46F
01/28 20:33, 46F
→
01/28 20:33,
6年前
, 47F
01/28 20:33, 47F
→
01/28 20:34,
6年前
, 48F
01/28 20:34, 48F
→
01/28 20:34,
6年前
, 49F
01/28 20:34, 49F
→
01/28 21:32,
6年前
, 50F
01/28 21:32, 50F
→
01/28 22:08,
6年前
, 51F
01/28 22:08, 51F
→
01/28 22:08,
6年前
, 52F
01/28 22:08, 52F
→
01/28 22:08,
6年前
, 53F
01/28 22:08, 53F
→
01/28 22:13,
6年前
, 54F
01/28 22:13, 54F
→
01/28 22:13,
6年前
, 55F
01/28 22:13, 55F
→
01/28 22:13,
6年前
, 56F
01/28 22:13, 56F
推
01/28 22:48,
6年前
, 57F
01/28 22:48, 57F
推
01/28 22:50,
6年前
, 58F
01/28 22:50, 58F
→
01/28 22:51,
6年前
, 59F
01/28 22:51, 59F
→
01/28 22:51,
6年前
, 60F
01/28 22:51, 60F
→
01/28 22:52,
6年前
, 61F
01/28 22:52, 61F
→
01/28 22:55,
6年前
, 62F
01/28 22:55, 62F
→
01/28 22:56,
6年前
, 63F
01/28 22:56, 63F
推
01/28 23:53,
6年前
, 64F
01/28 23:53, 64F
推
01/29 00:15,
6年前
, 65F
01/29 00:15, 65F
推
01/29 00:58,
6年前
, 66F
01/29 00:58, 66F
→
01/29 00:58,
6年前
, 67F
01/29 00:58, 67F
→
01/29 00:58,
6年前
, 68F
01/29 00:58, 68F
→
01/29 02:15,
6年前
, 69F
01/29 02:15, 69F
→
01/29 02:15,
6年前
, 70F
01/29 02:15, 70F
→
01/29 02:15,
6年前
, 71F
01/29 02:15, 71F
→
01/29 10:14,
6年前
, 72F
01/29 10:14, 72F
→
01/29 10:15,
6年前
, 73F
01/29 10:15, 73F
→
01/29 11:21,
6年前
, 74F
01/29 11:21, 74F
→
01/29 11:22,
6年前
, 75F
01/29 11:22, 75F
推
01/29 16:49,
6年前
, 76F
01/29 16:49, 76F
推
01/29 18:46,
6年前
, 77F
01/29 18:46, 77F
→
01/29 18:47,
6年前
, 78F
01/29 18:47, 78F
→
01/29 22:49,
6年前
, 79F
01/29 22:49, 79F
→
01/29 22:50,
6年前
, 80F
01/29 22:50, 80F
→
01/29 22:51,
6年前
, 81F
01/29 22:51, 81F
推
01/29 23:56,
6年前
, 82F
01/29 23:56, 82F
→
01/29 23:56,
6年前
, 83F
01/29 23:56, 83F
推
01/30 09:16,
6年前
, 84F
01/30 09:16, 84F
→
01/30 09:18,
6年前
, 85F
01/30 09:18, 85F
→
01/30 09:33,
6年前
, 86F
01/30 09:33, 86F
→
01/30 09:33,
6年前
, 87F
01/30 09:33, 87F
→
01/30 09:34,
6年前
, 88F
01/30 09:34, 88F
推
01/31 01:06,
6年前
, 89F
01/31 01:06, 89F
→
01/31 01:06,
6年前
, 90F
01/31 01:06, 90F
→
01/31 01:06,
6年前
, 91F
01/31 01:06, 91F
→
01/31 01:08,
6年前
, 92F
01/31 01:08, 92F
→
01/31 01:08,
6年前
, 93F
01/31 01:08, 93F
→
01/31 01:08,
6年前
, 94F
01/31 01:08, 94F
推
01/31 10:24,
6年前
, 95F
01/31 10:24, 95F
討論串 (同標題文章)