作者gaber (root@roof)
看板C_and_CPP
標題Re: [討論] 前輩們變數都怎麼命名2?
時間Thu May 11 11:56:21 2023
身為一個傻蛋工程師
coding style就是要簡單易懂
畢竟code是要交接的
當無法確定誰會最為後來者
所以我的coding style只有以下幾條
1.
常數全大寫,只用#define定義
不是常數的就全部小寫
2.
全域定義的
指標前面帶p_
列舉前面帶e_
結構前面帶s_
陣列前面帶a_
不是的就用v_
這只是方便讓我用intelligent code completion
3.
區域定義的
只會有v_開頭的那種
4.
永遠不用const宣告
5.
只用while跑迴圈
要中斷就自己用寫判斷式讓它break跳掉
6.
只用if-else
別用其它任何的條件判斷
7.
字串一律用array處理
其它格式的通通先轉成array就對了
這樣就不會有不熟悉操作方法的人來問
8.
自訂的函數內
禁止超過100行
禁止超過五個參數
禁止呼叫超過10個函數
慢一點無所謂,拆分比較重要
code愈簡單愈好
交接我code的人沒有看不懂語法的
看不懂演算法跟結構設定的倒是一堆
然後大家就會說這個code寫的基礎架構很好
淺顯易懂、深入淺出
(其實是看起來簡單,不會不知道怎麼改動)
交接的人也能順利接下去
重點是,跟著這個rule走
"傻子也能發揮生產力"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.105.133.125 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1683777383.A.050.html
1F:→ dsin: 萬一呼叫30個函數要怎麼拆fun1 fun2 fun3每個塞10函數這樣? 05/11 14:57
2F:推 Schottky: const 是用在函數唯讀參數的吧,為何從來不用呢? 05/11 15:13
3F:→ Schottky: @dsin 是要把功能或工作事項拆分,不是數到第幾行硬切 05/11 15:16
4F:→ Schottky: 我自己也有一個函數儘量不超過 150 行的習慣 05/11 15:17
5F:→ Schottky: 但連續的 if-else-if-else 和超長 switch-case 可以例外 05/11 15:17
6F:→ firejox: 常數用 enum 05/11 19:13
7F:推 Lipraxde: 8 也太嚴@@,我反而是拆分的函數盡量不超過三層,看有 05/11 20:49
8F:→ Lipraxde: 些 dispatch 過的進一層去 reuse,又一層 dispatch 很 05/11 20:49
9F:→ Lipraxde: 頭痛 05/11 20:49
10F:噓 fatrabitree: 這在反串吧... 05/12 00:37
12F:推 johnjohnlin: 不寫const一臉是是反串 05/12 23:43
13F:推 Lipraxde: 3v1L...看著看著覺得這樣的 coding style 好熟悉...平 05/13 08:37
14F:→ Lipraxde: 常都被殘害著QQ 05/13 08:37
15F:噓 jitaomef: 反串+1 05/13 11:06
16F:→ ck574b027: 違和感測試,就算1沒反應2也該響了 05/13 12:34
17F:噓 chuegou: 反串乙 05/13 22:03
18F:→ gaber: 傻蛋生產力就這麼來的,尤其當你的主管也是傻蛋的時候 05/15 17:35
19F:→ gaber: 不要跟獎金分紅過不去,講不贏傻蛋,就只好加入他們XD 05/15 17:37
20F:推 HMKRL: 有什麼不寫const的理由嗎 可讀性好不少欸 05/16 13:26
21F:噓 F04E: 永遠不用const宣告... constexpr表示: 情何以堪 05/16 14:53
22F:→ cylee: 可能他都在寫 C 現在的 IDE 這麼進步,其實不用 prefix 05/17 10:36
23F:噓 newking761: 484剛出社會啊? 05/19 08:36
24F:→ rnoro: 這是在搞笑吧。。。不用const??? 05/21 07:38
25F:推 wulouise: constexpr就不用const 05/28 19:58
26F:推 jheli: 用const可以提高code的安全性,可讀性也沒比較差啊 06/03 17:42
27F:推 cseslowpoke: 用 const 還會讓編譯器比較好做優化,為什麼不 cons 06/07 20:52
28F:→ cseslowpoke: t 06/07 20:52
29F:推 newking761: 你這樣拆,工作效率不會被開除嗎 06/08 12:11
30F:→ ck574b027: 就跟你說反串要註明了 每一條都有問題也會有人誤會好嗎 06/08 19:13
31F:噓 F04E: ... 06/24 08:46
32F:噓 YoursEver: 禁用const,不用for是哪招? 06/24 20:16
33F:→ alex780312: 用個 sonarqube 不好嗎 11/06 10:46