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

看板C_and_CPP作者 (上大學好忙喔)時間14年前 (2010/10/19 16:40), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串14/14 (看更多)
※ 引述《jccko (jccko)》之銘言: : 這樣子吧.. : enum rs232Flag{rs232Open=0, rs232Close=1}; : ... : rs232Flag RS232com1 = rs232Close; : ... : if(rs232Open == RS232com1){//常數放左邊是一個好習慣 : //...does something : } : 這個例子比較簡單,所以看不出加註解的必要。 : 通常寫程式我個人建議一定要放註解,尤其是每個函式的前面,要描述這個 : 函式的功能,使用了哪些資料結構與演算法,輸入參數的用途,越詳細越好, : 如同寫報告一般。如此就算是上萬行的程式碼,也可以讓第三者輕鬆掌握程 : 式架構。 分享一下小弟的拙見~ enum RS232_flag{CLOSE, OPEN}; void foo(){ RS232_flag com1; // blah...... if(com1 == OPEN){ //blah.... } } 主要的差異在於命名方面。對於一個datatype/class,給予完整可描述其意義的 名稱是有必要的,如此可以明確表示此datatype/class的用途。 enum中的識別字我使用全部大寫,原因是他為一個常數,全大寫較符合多數慣例。 宣告出來的變數(com1)我並不加上前綴"RS232",只使用com1代表這個flag所要表示 的對象「本身」,原因是他是RS232這件事只要看宣告就知道了... 但是變數命名我認為是要看前後文的,以不混淆其意義為主。 至於常數放前面這件事...就是個人習慣了XD 我很少發生把equal打成assignment的情況 補充:關於變數加上前綴這件事,我相信有人會提出(或是想到)匈牙利命名法... 在此分享一篇文章給各位,這篇文章是著名的Joel on Software的一小段 讀過以後,顛覆了我過去對匈牙利命名法的錯誤看法(或至少是某部分的匈牙利命名法) 原來在最初的設計上,前綴是用來表示種類...而不是datatype.... 這樣才真的合理,因為變數命名是命給人看的,不是命給compiler看的... 文章連結:http://chinesetrad.joelonsoftware.com/Articles/Wrong.html 請直接跳到這篇文章的約3/4處 「我是匈牙利」 以上還請各位指教<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.8.77.165

10/20 14:44, , 1F
獲益良多 ~~
10/20 14:44, 1F

10/21 00:44, , 2F
看到原PO就順路推XD
10/21 00:44, 2F
文章代碼(AID): #1ClSdx_0 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1ClSdx_0 (C_and_CPP)