書名: 高質(zhì)量程序設(shè)計(jì)指南:C++/C語言作者名: 林銳 韓永泉編著本章字?jǐn)?shù): 912字更新時(shí)間: 2019-01-09 14:08:58
3.6 良好的編程習(xí)慣
C++/C語言靈活而又復(fù)雜,有經(jīng)驗(yàn)的C++/C程序員往往會因?yàn)樽约耗軌蛞砸恍┕殴值摹┈嵍至钊死Щ蟮姆绞绞褂盟凑醋韵病5@并非就是良好的編程習(xí)慣,也不能產(chǎn)生高質(zhì)量的代碼。
【建議3-1】: 應(yīng)該用簡單而直接的方式編寫C++/C程序,這就叫做KIS(Keep It Simple)編程準(zhǔn)則。不要毫無章法地“濫用”語言。
高質(zhì)量的代碼源于高質(zhì)量的設(shè)計(jì)和良好的編程風(fēng)格。
在設(shè)計(jì)上要追求簡單和低耦合。許多遺留的程序錯(cuò)誤解決不了,在很大程度上是因?yàn)樵O(shè)計(jì)本身存在不必要的復(fù)雜部分。什么是好的設(shè)計(jì)?一個(gè)好的設(shè)計(jì)應(yīng)該恰如其分地反映和解決一個(gè)具體的問題,即解決方案與問題一致,沒有不必要的特性。在面向?qū)ο蠓治龊驮O(shè)計(jì)(OOA&D)中,耦合性用來衡量不同對象之間和不同模塊之間的依賴程度。好的設(shè)計(jì)應(yīng)該盡量降低對象之間和模塊之間的耦合性。松耦合的程序易于理解、易于實(shí)現(xiàn)、易于測試和維護(hù)。
一個(gè)良好的編程習(xí)慣可以用于任何編程語言中,用它生產(chǎn)的代碼不僅容易閱讀、容易理解,而且易于調(diào)試和測試。良好的編程風(fēng)格是良好的編程習(xí)慣的具體表現(xiàn)。書寫的代碼結(jié)構(gòu)安排要合理,版式要清晰一致,給標(biāo)識符取個(gè)“自說明”的名字,不要使用過于復(fù)雜的語句和表達(dá)式,使用清晰的注釋等,這些都是建立良好的編程風(fēng)格的指導(dǎo)原則。
有的程序員認(rèn)為,越是能夠正確地使用復(fù)雜語句書寫代碼,這個(gè)人的水平就越高,這種觀念太偏激。偉大的軟件不一定就是用復(fù)雜的編程技巧實(shí)現(xiàn)的。實(shí)際上,軟件的質(zhì)量乃至代碼的質(zhì)量與編程技巧沒有必然的聯(lián)系。且不說復(fù)雜語句是否真的正確,光是調(diào)試和測試這樣的語句就很困難,而且維護(hù)代碼的人不一定能正確地理解它們的語義。
這就好比我們騎自行車上班,本來在自行車道上走得好好的,突然躥到了機(jī)動車道上,雖然你的車技很好,機(jī)動車道也不是不能走,但是難保不發(fā)生交通事故。
良好的編程習(xí)慣不是一天就能養(yǎng)成的。本書從第5章開始將在這方面給出一些通用的指導(dǎo)和建議。
【提示3-1】: 雖然C++/C與硬件無關(guān),具有很高的可移植性,但是不同的語言實(shí)現(xiàn)及不同的硬件平臺之間必然存在許多兼容性問題,它們增加了C++/C程序的移植難度。所以,并不是說用C++/C編寫的程序就能保證絕對的可移植性,程序員需要進(jìn)行針對編譯器和機(jī)器平臺的良好的可移植性設(shè)計(jì),并把這種可移植性內(nèi)建在程序代碼中。
- HornetQ Messaging Developer’s Guide
- Vue 3移動Web開發(fā)與性能調(diào)優(yōu)實(shí)戰(zhàn)
- Learning Cython Programming(Second Edition)
- Python量化投資指南:基礎(chǔ)、數(shù)據(jù)與實(shí)戰(zhàn)
- Python自動化運(yùn)維快速入門
- Python數(shù)據(jù)分析(第2版)
- Drupal 8 Configuration Management
- Linux:Embedded Development
- Linux C編程:一站式學(xué)習(xí)
- NetBeans IDE 8 Cookbook
- Go語言精進(jìn)之路:從新手到高手的編程思想、方法和技巧(2)
- C++ System Programming Cookbook
- Instant Automapper
- HTML5程序設(shè)計(jì)基礎(chǔ)教程
- Python程序設(shè)計(jì):基礎(chǔ)與實(shí)踐