Re: [心得] 學好程式設計的訣竅

看板C_and_CPP作者 (大橘永澤邱哥)時間13年前 (2010/10/17 03:26), 編輯推噓7(7013)
留言20則, 12人參與, 最新討論串12/14 (看更多)
※ 引述《concealment (笨小孩)》之銘言: : 想起來了! : 書名叫做「編程創藝:編寫出卓越的程式碼」 : 是一本翻譯書,翻自「Code craft: The principle of writing excellent code」 : 蔡學鏞翻譯。 : 碁峰出版,跟大家分享。 這一本書我也有讀了一點 不過讀起來很吃力.... (更多的是不知所云 qq我好弱) 關於大家對註解的歧見,我想跟大家分享一下書中對於註解的建議 他是這麼說的: 比如說我們常寫到以下程式 int com = 0 ; //RS232的旗標 0 是關閉 1 是開啟 if(com = = 1) //RS232通訊開啟 { } 如果換寫成這樣呢? int RS232com1_flag = 0 ,close = 1 ,Open = 0; if(RS232com1_flag = = Open) { } 咦?發生了什麼事.... 所有註解都不見了吧 變數一看就知道是什麼了 這種方法好處特別是在程式越來越大的情況之下,旗標設定很容易遠遠的遠離使用的地方 且旗標狀態往往可能用到四~五個狀態以上,如果不這樣寫.... 就會寫出連自己都會看錯的程式,更何況是同事或客戶要來理解了... 我自己的親身經歷是 我一開始用第一種方法 程式寫了七百行左右就開始吐血了 (功力低弱...) 寫到後來想修改或添加新功能,不管如何修改都會有BUG 現在發憤整個重寫程式,且順便新增了一堆功能上去 目前程式來到了1500行,我還覺得這不是我的極限 XDDD 不過最一開始那位提說不看註解的大大 其實我覺得他也是對的/....\ 這是學習的其中一個過程 因為總不能要求小朋友做的紙飛機時 要求他在上面要可以掛巡弋飛彈吧? 大家一起加油吧~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.222.174 ※ 編輯: goodrain 來自: 140.115.222.174 (10/17 03:32) ※ 編輯: goodrain 來自: 140.115.222.174 (10/17 03:41)

10/17 04:43, , 1F
小小補充一下,那個例子其實可以用enum...XD
10/17 04:43, 1F

10/17 05:02, , 2F
用#define或enum再不然const,原寫法怕的就是手賤改到值XD
10/17 05:02, 2F

10/17 05:04, , 3F
可是,這個例子並不能代表所有情況。並不是不管三七二十一
10/17 05:04, 3F

10/17 05:05, , 4F
把所有原本當註解的資訊通通塞到函式、變數名上面去然後說
10/17 05:05, 4F

10/17 05:07, , 5F
我省了註解就真的是良好的Code寫作方式。註解的好處是可以
10/17 05:07, 5F

10/17 05:07, , 6F
用句子而非用一堆代號來描述程式的思路,甚至可以提醒自己
10/17 05:07, 6F

10/17 05:08, , 7F
跟別人要做什麼功能修改或增加功能該從哪下手,這一點是比
10/17 05:08, 7F

10/17 05:09, , 8F
讓程式易懂還更進一步的,而且有註解就很容易完成。而本篇
10/17 05:09, 8F

10/17 05:10, , 9F
文提到的那個技巧,我覺得算是在程式寫作上進階後的一種「
10/17 05:10, 9F

10/17 05:11, , 10F
常識」,是到了某了階段一定要具備的能力。
10/17 05:11, 10F

10/17 10:55, , 11F
RS232com1_flag = TRUE or FLASE 這樣也可以吧
10/17 10:55, 11F

10/17 12:13, , 12F
推使用#define TRUE 1這種方式
10/17 12:13, 12F

10/17 12:46, , 13F
是我的話會用 #define isOpen 之類的東西....XDD
10/17 12:46, 13F

10/17 12:58, , 14F
不如去看clean code, 變數最佳的命名 視其作用範圍決定
10/17 12:58, 14F

10/17 15:12, , 15F
多用變數感覺多佔空間還要花時間取值.....
10/17 15:12, 15F

10/17 15:16, , 16F
樓上太小看 compiler 了...
10/17 15:16, 16F

10/17 22:57, , 17F
也小看現代的CPU能力了 XD
10/17 22:57, 17F

10/18 19:06, , 18F
樓上兩樓回的好
10/18 19:06, 18F

10/18 23:26, , 19F
compiler應該會自動做最佳化吧,命名應該沒差吧?挺好的呀。
10/18 23:26, 19F

10/19 00:09, , 20F
CPU能力雖然很強 但在影像處理領域裡面還是很吃緊...
10/19 00:09, 20F
文章代碼(AID): #1CkVn93Z (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 12 之 14 篇):
文章代碼(AID): #1CkVn93Z (C_and_CPP)