自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

豐富多彩的C/C++程序設計

開發(fā) 后端
如果把C++中的諸多不必要的復雜性去掉,留下那些本質(zhì)的,重要的語言特性,簡化語言模型,消除歷史包袱。即便是C++的反對者也許也很難找到理由說“我還是不用C++”。

在研究項目團隊協(xié)作開發(fā)的情況下(這里的團隊協(xié)作也適合于應用項目的開發(fā)),編程時應該強調(diào)的一個重要方面是程序的易讀性,在保證軟件速度等性能指標能滿足用戶需求的情況下,能讓其他程序員容易讀懂你所編寫的程序。

若研究項目小組的所有開發(fā)人員都遵循統(tǒng)一的、鮮明的一套編程風格,可以讓協(xié)作者、后繼者和自己一目了然,在很短的時間內(nèi)看清楚程序結構,理解設計的思路,大大提高代碼的可讀性、可重用性、程序健壯性、可移植性、可維護性。

制定本編程規(guī)范的目的是為了提高軟件開發(fā)效率及所開發(fā)軟件的可維護性,提高軟件的質(zhì)量。本規(guī)范由程序風格、命名規(guī)范、注釋規(guī)范、程序健壯性、可移植性、錯誤處理以及軟件的模塊化規(guī)范等部分組成。

本軟件開發(fā)規(guī)范適合討論C/C++程序設計。

1 文件結構
每個C++/C程序通常分為兩個文件。一個文件用于保存程序的聲明(declaration),稱為頭文件。另一個文件用于保存程序的實現(xiàn)(implementation),稱為定義(definition)文件。

C++/C程序的頭文件以“.h”為后綴,C程序的定義文件以“.c”為后綴,C++程序的定義文件通常以“.cpp”為后綴(也有一些系統(tǒng)以“.cc”或“.cxx”為后綴)。

1.1 文件信息聲明
文件信息聲明位于頭文件和定義文件的開頭(參見示例1-1),主要內(nèi)容有:

(1)       版權信息;

(2)       文件名稱,項目代碼,摘要,參考文獻;

(3)       當前版本號,作者/修改者,完成日期;

(4)       版本歷史信息;

(5)       主要函數(shù)描述。
顯然,如果找不出要學習C++的理由,那么談什么“正確的學習方法”等于是廢話。 首先重復一句Bjarne的話:“我們的系統(tǒng)已經(jīng)是極度復雜的了,為了避開C++的復雜性而干脆不用C++(Linus的做法),無異于因噎廢食?!痹谒锌捎肅和C++的領域,C++都是比C更好的語言。

當我說“更好的”時候,我說的是C++擁有比C更安全的類型檢查、更好的抽象機制、更優(yōu)秀的庫。當然,凡事都有例外,如果你做的項目1)不大。2)編碼中用不到什么抽象機制,甚至ADT(抽象數(shù)據(jù)類型,例如std::complex這種不含多態(tài)和繼承的)也用不到,RAII也用不到,異常也用不到。

3)你連基礎庫(如,簡化資源管理的智能指針、智能容器)都用不著。那么也許你用C的確沒問題;所以如果你的情況如此,不用和我爭論,因為我無法反駁你。我們這里說的領域大致是Bjarne在“C++應用列表”里面列出來的那些地方。 #t#

底線是:如果把C++中的諸多不必要的復雜性去掉,留下那些本質(zhì)的,重要的語言特性,簡化語言模型,消除歷史包袱。即便是C++的反對者也許也很難找到理由說“我還是不用C++”。在我看來,一個真正從實踐意義上理性反對使用C++的人只有一個理由:C++的復雜性帶來的混亂抵消乃至超過了C++的抽象機制和庫(在他的特定項目中)帶來的好處。

值得注意的是,這里需要避免一個陷阱,就是一旦人們認定了“C++不好”,那么這個理由就會“長出自己的腳來”,即,就算我們拿掉C++的復雜性,他們可能也會堅持還是不用C++,并為之找一堆理由。

我假定你不是這樣的人。不過,也許最可能的是他會說:“問題是我們今天用的C++并非如此(簡潔),你的假設不成立?!笔堑模业募僭O不成立。但雖然我們無法消除復雜性,我們實際上是可以容易地避開復雜性,避短揚長的。這也是本文的要點,容我后面再詳述。

責任編輯:chenqingxiang 來源: IT專家網(wǎng)
相關推薦

2010-01-27 10:29:39

C++代碼解析

2010-01-12 14:52:00

C++技術

2010-01-14 15:15:39

C++Test

2009-12-17 14:45:37

Visual Stud

2010-01-06 16:02:53

2010-02-03 15:58:53

Python應用程序

2010-02-06 16:02:57

Android 應用程

2010-02-22 18:25:07

2010-02-03 18:06:42

Python語言

2010-02-05 16:28:07

Android

2010-03-03 16:08:20

Android手機系統(tǒng)

2010-02-26 17:54:54

python

2009-12-22 17:00:58

ADOMD.NET對象

2009-12-18 15:49:12

ADO.NET組件

2010-03-19 14:12:06

太網(wǎng)交換機

2010-01-28 09:54:27

C++程序設計

2009-12-09 10:34:10

嵌入式Linux操作系

2010-02-04 14:27:11

2021-11-12 20:00:52

Linuxcowsay命令

2009-12-17 14:01:44

Visual Stud
點贊
收藏

51CTO技術棧公眾號