→ wawi2: 放大絕 說他那樣寫unreadable 05/11 04:57
推 Morris1028: 同事: this is my art 05/11 06:43
→ Morris1028: 可能要轉發到 soft job 版做諮詢 05/11 06:49
推 ko27tye: 他是只從c++11開始學的嗎 蠻多觀念是The C++ Programmin 05/11 08:35
→ ko27tye: g Language第四版上寫到的 05/11 08:35
→ ko27tye: 但全盤接受不思考情境就用感覺很差 05/11 08:37
推 mintece: 10不就是應該用forward嗎?用move的話要是lvalue ref傳 05/11 08:47
→ mintece: 進來會不小心被move? 05/11 08:47
→ lovejomi: @mintece: 不對 這邊的話不是forwarding reference 05/11 09:23
→ lovejomi: 這邊確實是rvalue ref 但是剛好用forward效果一樣 05/11 09:24
→ lovejomi: @wawi2: 就是因為我說不好讀 他說他覺得好讀, 他大絕就 05/11 09:24
→ lovejomi: 這篇主要不是要找我的同好, 而是想看多數人觀點 05/11 09:26
→ lovejomi: 他有這種堅持我想也許是某些國外有名的人有推, 但我沒有 05/11 09:26
→ lovejomi: 得到他核心的好處 甚至覺得搞得很複雜 難讀 05/11 09:27
推 Morris1028: 從維護和重構上的潛在問題扳倒 05/11 09:45
推 CoNsTaR: 不影響架構的東西都隨便啦 05/11 09:57
→ CoNsTaR: 沒定 convention 你管他那麼多 05/11 09:57
推 ddavid: 但人家都開始強迫別人也這麼寫啦,你不管他那麼多,他倒是 05/11 10:12
→ ddavid: 管過來了啊XD 05/11 10:12
→ lovejomi: 他那樣好讀嗎? 我怕其實是好讀的 我太墨守陳規了 05/11 11:40
→ mintece: @lovejomi 你是對的,我眼花了。 話說其他同事也有跟你 05/11 11:42
→ mintece: 一樣想法的話不能民主決定嗎? 05/11 11:42
→ lovejomi: 我可能有點誇飾了,對方沒有直接強迫要你改,整個團隊 05/11 11:52
→ lovejomi: 很熟C++的人不多, 我熟 那位同事也熟,其他人不熟或是 05/11 11:52
→ lovejomi: 只寫過c++11之前的程式,但另一位外國同事不熟新語法( 05/11 11:52
→ lovejomi: 還在C++11之前) 會覺得他寫的似乎都有其道理 05/11 11:52
→ lovejomi: 例如他說了什麼comment 另一個就會說 I agree with XXX 05/11 11:52
→ lovejomi: , you should use XXXXXXXXXXXXXX 05/11 11:52
→ lovejomi: 然後風向就是他們的了, 對方口氣不是強制要你改 但口氣 05/11 11:52
→ lovejomi: 會是讓你感覺不改好像我冥頑不靈.. 05/11 11:52
→ lovejomi: 並且他這樣把他的style帶進來 會讓整份code四不像....真 05/11 11:52
→ lovejomi: 心覺得難讀,但還是必須提出來討論,畢竟對方有堅持有 05/11 11:52
→ lovejomi: 讀書應該是有一些值得學習的好處只是我目前看不到 05/11 11:52
推 steve1012: 可以找些core guideline 或知名的style guide 參考 05/11 13:06
→ steve1012: 硬要用auto 是有點怪了啦 05/11 13:06
→ steve1012: return std::move 只有很少狀況好用 而且會block copy 05/11 13:07
→ steve1012: elision. 這應該可以貼出standard 反制了 05/11 13:07
推 eye5002003: 我記得return std::move根本多餘,編譯器自己就很清楚 05/11 13:14
噓 MartinJ40: returen std::move根本多餘 他根本沒唸書吧 05/11 13:15
→ MartinJ40: effective modern c++就有提到不需要return move 05/11 13:15
→ eye5002003: 該怎麼做;第6點踩到我的地雷了,除錯時會很棘手 05/11 13:18
推 MartinJ40: 同意 想要c++17化就不要macro 用template 05/11 13:21
→ eye5002003: 我對auto的理解是"不用重複寫type",等號右邊有寫就不 05/11 13:21
→ eye5002003: 用左邊也寫一遍,或者你不關心型態是什麼的時候才用 05/11 13:25
→ shadow0326: 裡面我唯一會幫他說話的是9,但不是因為寫std::不好 05/11 14:08
→ shadow0326: 而是因為這種東西整個團隊一致的話比較不會有強迫症問 05/11 14:09
→ shadow0326: 題xd 不過要和他一致或和你一致這我也沒意見xd 05/11 14:09
推 ddavid: 6是真的很噁心,而且macro這東西也要自己看過內容才知道怎 05/11 17:01
→ ddavid: 麼用不會冒出莫名其妙的問題啊XD 05/11 17:01
→ ddavid: 6只有ioccc之類比賽好用吧XDDD 05/11 17:02
→ loveme00835: 學半套笑死 xD 05/11 19:42
→ nevak: 大部分是anti pattern就不多說了,要是他在code review意 05/11 20:06
→ nevak: 見很多,可以請他寫一份coding guideline,大家再來review 05/11 20:06
→ nevak: 。客觀來說就算他說的是對的,整天code review要改這些很 05/11 20:06
→ nevak: 沒效率。記得規則訂好再找個自動檢查的tool。 05/11 20:06
推 loveme00835: 第八點是為了透過 ADL 讓所謂的 extension code 可以 05/11 20:09
→ loveme00835: 動, 這個尤其在引入第三方函式庫的時候需要做更新或 05/11 20:09
→ loveme00835: 是改變行為時可用, 但 C++17 以前不會用 qualified n 05/11 20:09
→ loveme00835: ame 來呼叫, 在 C++20 以後因為有 CPO 所以反而要用 05/11 20:09
→ loveme00835: qualified name, 未來的函式庫像也都是朝著 non-mem 05/11 20:09
→ loveme00835: ber/rangify 的方向走, 你自己倒是用直接寫扣把擴充 05/11 20:09
→ loveme00835: 性給殺掉了. 一部分是你的問題, 但雙方對 feature 一 05/11 20:09
→ loveme00835: 知半解, 我覺得就算發文解釋也不會有效果就是, 就像 05/11 20:09
→ loveme00835: 你即使無法接受同事的寫法也不會去了解原因一樣 05/11 20:09
→ loveme00835: 第 9 點也是一樣的, 如果 std:: 的東西沒那麼 powerf 05/11 20:14
→ loveme00835: ul, 需要擴充的時候, 你會發現所有寫 std:: 的地方全 05/11 20:14
→ loveme00835: 都要砍掉重寫, 如果你的 interface type 也都用 full 05/11 20:14
→ loveme00835: y qualified name 來寫那真的就是災難. 看敘述你的同 05/11 20:14
→ loveme00835: 事的開發經驗應該比你豐富很多 05/11 20:14
→ loveme00835: 沒有 code 是不需要修改的, 所以 code 要儘量寫得很 05/11 20:17
→ loveme00835: generic (不限於模板), 這個在 C++ 的演進可以看出這 05/11 20:17
→ loveme00835: 個核心思想: type constraint, meta class. 寫得像 j 05/11 20:17
→ loveme00835: ava 的東西直接丟掉就好了 05/11 20:17
→ loveme00835: 他的某些用法在開發跨平台/語言標準的函式庫時很常見 05/11 20:31
→ loveme00835: , 嘗試去思考: 如何把 code 寫成讓不同編譯器吃都能 05/11 20:31
→ loveme00835: 過, 就能理解這個觀念. 如果只是寫 app 可以不用知道 05/11 20:31
→ loveme00835: 那麼多 05/11 20:31
推 MartinJ40: 這跟拿佛經遇到拿聖經講話的很像 05/12 13:50
→ MartinJ40: 互相傷害個幾次才知道尊重 05/12 13:50
→ MartinJ40: 光是google coding style和llvm style就有衝突的地方了 05/12 13:50
→ MartinJ40: 對方愛貼文章你也貼文章和影片反擊 05/12 13:50
→ tinlans: 對方有母語優勢,吸收新知的速度比你快,但基礎觀念有缺 05/12 16:01
→ tinlans: 陷,你基礎觀念有些地方比他好,但是吸收新知速度沒他快 05/12 16:01
→ tinlans: ,所以你很容易被大量主流社群文章扳倒。 05/12 16:02
→ tinlans: 所以除非你自身能更進步,否則只能尋求政治解。 05/12 16:02
→ tinlans: 拿 google 和 llvm coding style 講不贏這種人,因為那些 05/12 16:03
→ tinlans: style 確實是由一知半解和顧慮一知半解的多數族群制訂的 05/12 16:04
→ tinlans: ,專注在 C++ 領域的人有不少人對這些 style 很輕蔑。 05/12 16:04
→ tinlans: 不要說國外,光 llvm 那份丟到板上來可能也有不少人不屑 05/12 16:05
→ johnidfet: 五五波 他有些堅持是對的 有些應該是suggestions不應 05/12 20:00
→ johnidfet: 該強制 05/12 20:00
推 TakiDog: 不論是coding style 還是 commit 的衝突 05/12 20:04
→ TakiDog: 一律推薦出去外面打 05/12 20:04
→ ketrobo: 7很好用,特別是讓自家的程式適應各種的規格變動,14是延 05/13 04:34
→ ketrobo: 伸7的設計 05/13 04:34
→ lovejomi: @tinlans 說出我的心裡話 母語優勢讓我覺得速度沒他快 05/13 15:38
推 TobyH4cker: 太呱張了吧 05/14 01:19
→ Linvail: 1.看公司規定 2.看職位高低 3.看主管挺誰... 05/19 19:51
推 cia1099: 其實我覺得他寫的code挺屌又酷的 07/26 10:54