C 程式設計經驗分享

2021-07-24 04:23:33 字數 1021 閱讀 5937

程式的時間效率是指執行速度,空間效率是指程式占用記憶體或者外存的狀況。

全域性效率是指站在整個系統的角度上考慮的效率,區域性效率是指站在模組或函式角度上考慮的效率。

【規則1】不要一味地追求程式的效率,應當在滿足正確性、可靠性、健壯性、可讀性等質量因素的前提下,設法提高程式的效率。

【規則2】以提高程式的全域性效率為主,提高區域性效率為輔。

【規則3】在優化程式的效率時,應當先找出限制效率的「瓶頸」,不要在無關緊要之處優化。

【規則4】先優化資料結構和演算法,再優化執行**。

【規則5】有時候時間效率和空間效率可能對立,此時應當分析那個更重要,作出適當的折衷。例如多花費一些記憶體來提高效能。

【規則6】不要追求緊湊的**,因為緊湊的**並不能產生高效的機器碼。

【建議1】當心那些視覺上不易分辨的操作符發生書寫錯誤。我們經常會把「==」誤寫成「=」,象「||」、「&&」、「<=」、「>=」這類符號也很容易發生「丟1」失誤。然而編譯器卻不一定能自動指出這類錯誤。

【建議2】變數(指標、陣列)被建立之後應當及時把它們初始化,以防止把未被初始化的變數當成右值使用。

【建議3】當心變數的初值、預設值錯誤,或者精度不夠。

【建議4】當心資料型別轉換發生錯誤。盡量使用顯式的資料型別轉換(讓人們知道發生了什麼事),避免讓編譯器輕悄悄地進行隱式的資料型別轉換。

【建議5】當心變數發生上溢或下溢,陣列的下標越界。

【建議6】當心忘記編寫錯誤處理程式,當心錯誤處理程式本身有誤。

【建議7】當心檔案i/o有錯誤。

【建議8】避免編寫技巧性很高**。

【建議9】不要設計面面俱到、非常靈活的資料結構。

【建議10】如果原有的**質量比較好,盡量復用它。但是不要修補很差勁的**,應當重新編寫。

【建議11】盡量使用標準庫函式,不要「發明」已經存在的庫函式。

【建議12】盡量不要使用與具體硬體或軟體環境關係密切的變數。

【建議13】把編譯器的選擇項設定為最嚴格狀態。

【建議14】如果可能的話,使用pc-lint、logiscope等工具進行**審查。

C 程式設計經驗分享

1.不要在建構函式中做初始化操作 要求類 尤其是對外介面類 提供init 函式,在該函式中進行相關初始化操作,初始化失敗能夠返回錯誤碼。可以規避問題 建構函式中難以返回錯誤碼,外部呼叫者無從判斷初始化結果。當該類作為全域性變數使用時,構造函式呼叫發生在main 函式執行之前,出現問題難以追蹤。2.所...

程式設計學習經驗分享

首先我並不是乙個專業的程式設計師,我是乙個純粹的學習者,我最喜歡的程式語言是python。這是我的第一篇博文,我對markdown還不熟悉。這是乙個經驗分享,但是對他人有沒有幫助我也不太清楚,不過我清楚應該不會有特別多的人能看到。初學程式設計,我最大最大的煩惱是我根本沒有辦法了解程式設計的全貌,我只...

PLC程式設計經驗分享

弄通有關plc程式設計理論是重要的。沒有這方面的理論準備或指導,僅靠在實踐中摸索,簡單的問題還好辦。複雜的就不好辦了。不僅無從下手,而且花了很多時間與精力,也難編出效率較高 質量也較高的程式,常常是事倍功半。但是,程式設計的具體實踐,以及在這個實踐中得來的知識或技能,即經驗,也是重要的。沒有經驗,僅...