『壹』 C語言編程代碼好壞如何判斷
1.2.1 正確性
正確性是指軟體按照需求正確執行任務的能力,涵蓋「精確性」。正確性是第一重要的軟體質量屬性。技術評審和測試的第一關是檢查工作成果的正確性。
從「需求開發」到「系統設計」再到「編程」,任何一個環節出現差錯都會降低正確性。軟體運行出錯通常都是人造成的,開發者應做到為「正確」兩字竭盡全力。
1.2.2 健壯性
健壯性是指在異常情況下,軟體能夠正常運行的能力。正確性與健壯性的區別是:前者描述軟體在需求范圍之內的行為,後者描述軟體在需求范圍之外的行為。想不到異常情況,把異常錯當正常而不作處理,這些都會降低健壯性。提高軟體的健壯性也是開發者的義務。
健壯性有兩層含義:一是容錯能力,二是恢復能力。
容錯是指發生異常情況時系統不出錯誤的能力。高風險系統如航空航天、武器、金融等領域的系統,容錯性設計非常重要。
容錯是非常健壯的意思。而恢復則是指軟體發生錯誤後(不論死活)重新運行時,能否恢復到沒有發生錯誤前的狀態的能力。
從語義上理解,恢復不及容錯那麼健壯。
1.2.3 可靠性
可靠性是指在一定環境下,在給定的時間內,系統不發生故障的概率。因為我們無法對軟體進行徹底的測試,無法根除軟體中潛在的錯誤,所以軟體平時運行良好,說不準哪天就會不正常,如「千年蟲」、「內存泄露」、「誤差累積」等。
軟體可靠性分析通常採用統計技術,但目前可供第一線開發人員使用的成果少見。
1.2.4 性能
性能通常是指軟體的「時間—空間」效率,而不僅是指軟體的運行速度。程序員可以通過優化數據結構、演算法和代碼來提高軟體的性能。演算法復雜度分析是很好的方法,可以達到「未卜先知」的功效。
1.2.5 易用性
易用性是指用戶使用軟體的容易程度。它直觀體現為「界面友好」、「方便」等。
1.2.6 清晰性
清晰意味著工作成果易讀、易理解。開發人員只有在自己思路清晰的時候才可能寫出讓別人清晰性好的程序和文檔。可理解的東西通常是簡潔的。簡潔是人們對工作「精益求精」的結果,而不是潦草應付的結果。
1.2.7 安全性
安全性是指信息安全Security,不是safety。安全性是指防止系統被非法入侵的能力,既屬於技術問題又屬於管理問題。對於大多數軟體產品而言,杜絕非法入侵既不可能也沒必要。一般地,如果黑客為非法入侵花費的代價(考慮時間、費用、風險等因素)高於得到的好處,這樣的系統被認為是安全的。
1.2.8 可擴展性
可擴展性反映軟體適應「變化」的能力。在軟體開發過程中,需求、設計、演算法的改進、程序本身都有可能變化,
軟體是否容易修改關鍵看它的規模和復雜性。可擴展性是系統設計階段重點考慮的質量屬性。
1.2.9 兼容性
兼容性是指兩個或以上的軟體相互交換信息的能力。開發某領域的新軟體,應與已流行的軟體相兼容,否則難以被市場接受。
1.2.10 可移植性
可移植性是指軟體運行於不同軟硬體環境的能力。編程語言越低級,程序越難移植。C比匯編可移植性好,java號稱「一次編程、到處運行」,具有100%的可移植性。
軟體設計時應該將「設備相關程序」與「設備無關程序」分開,將「功能模塊」
『貳』 如何檢驗自己是否已經掌握一門編程語言
從應用上來說:學習語言一定要做東西,最好自己多做一些項目。。。
從理論上來看:沒有人敢說能完全掌握一門語言,高級編程語言之間基本是互通的,主要是編程的思想。學習語言要從該語言的特性下手,如java 面向對象,跨平台,多態。。。等
綜上語言基礎不難,復雜的是演算法實現
自我簡單總結了一下一門語言所包含的基礎內容,可以通過下面這些條目自查:
1基本語法
--1.1注釋
--1.2輸入輸出
--1.3變數、常量
--1.4運算符
--1.5控制結構
--1.6異常處理
2常用函數
--2.1函數定義
--2.2日期函數
--2.3字元串處理函數
--2.4數學函數
3類
--3.1繼承封裝
--3.2公有私有
--3.3多態
--3.4模塊化
--4.1讀
--4.2寫
--4.3查詢語句優化
5數據結構
--5.1數組
--5.2鏈表
--5.3堆棧
--5.4哈希
--5.5圖
6圖形處理
7性能
--7.1效率
--7.2負載
--7.3優化
8安全
--8.1防攻擊
--8.2防盜鏈
--8.3防竊取
9業務
--9.1需求分析
--9.2模型構建
--9.3系統架構
--9.4模塊劃分
『叄』 編程遇到問題在哪查啊
編程時遇到問題很正常,你要是想方便查詢的話,建議你買款《編程全能詞典》軟體,裡面就能查到了,挺全面的。在家用就裝在家裡的電腦上,在公司用的話就裝公司電腦里就行。