轉貼 程式設計修養(一)

2021-04-01 01:08:45 字數 2544 閱讀 4018

程式設計修養(一)    haoel(原作)

程式設計修養

————

什麼是好的程式設計師?是不是懂得很多技術細節?還是懂底層程式設計?還是程式設計速度比較快?

我覺得都不是。對於一些技術細節來說和底層的技術,只要看幫助,查資料就能找到,對

於速度快,只要編得多也就熟能生巧了。

我認為好的程式設計師應該有以下幾方面的素質:

1、有專研精神,勤學善問、舉一反三。

2、積極向上的態度,有創造性思維。

3、與人積極交流溝通的能力,有團隊精神。

4、謙虛謹慎,戒驕戒燥。

5、寫出的**質量高。包括:**的穩定、易讀、規範、易維護、專業。

這些都是程式設計師的修養,這裡我想談談「程式設計修養」,也就是上述中的第5點。我覺得,如

果我要了解乙個作者,我會看他所寫的**,如果我要了解乙個畫家,我會看他所畫的圖

畫,如果我要了解乙個工人,我會看他所做出來的產品,同樣,如果我要了解乙個程式設計師

,我想首先我最想看的就是他的程式**,程式**可以看出乙個程式設計師的素質和修養,

程式就像乙個作品,有素質有修養的程式設計師的作品必然是一圖精美的圖畫,一首美妙的歌

曲,一本賞心悅目的**。

我看過許多程式,沒有注釋,沒有縮排,胡亂命名的變數名,等等,等等,我把這種人統

稱為沒有修養的程式,這種程式設計師,是在做創造性的工作嗎?不,完全就是在搞破壞,他

們與其說是在程式設計,還不如說是在對源程式進行「加密」,這種程式設計師,見乙個就應該開

除乙個,因為他編的程式所創造的價值,遠遠小於需要在上面進行維護的價值。

程式設計師應該有程式設計師的修養,那怕再累,再沒時間,也要對自己的程式負責。我寧可要那

種動作慢,技術一般,但有良好的寫程式風格的程式設計師,也不要那種技術強、動作快的「

搞破壞」的程式設計師。有句話叫「字如其人」,我想從程式上也能看出乙個程式設計師的優劣。

因為,程式是程式設計師的作品,作品的好壞直截關係到程式設計師的聲譽和素質。而「修養」好

的程式設計師一定能做出好的程式和軟體。

有個成語叫「獨具匠心」,意思是做什麼都要做得很專業,很用心,如果你要做乙個「匠

」,也就是造詣高深的人,那麼,從一件很簡單的作品上就能看出你有沒有「匠」的特性

,我覺得做乙個程式設計師不難,但要做乙個「程式匠」就不簡單了。程式設計序很簡單,但編出

有質量的程式就難了。

我在這裡不討論過深的技術,我只想在一些容易讓人忽略的東西上說一說,雖然這些東西

可能很細微,但如果你不注意這些細微之處的話,那麼他將會極大的影響你的整個軟體質

量,以及整個軟體程的實施,所謂「千里之堤,毀於蟻穴」。

「細微之處見真功」,真正能體現乙個程式的功底恰恰在這些細微之處。

這就是程式設計師的——程式設計修養。我總結了在用c/c++語言(主要是c語言)進行程式寫作上

的三十二個「修養」,通過這些,你可以寫出質量高的程式,同時也會讓看你程式的人漬

漬稱道,那些看過你程式的人一定會說:「這個人的程式設計修養不錯」。

————————————————————————

01、版權和版本

02、縮排、空格、換行、空行、對齊

03、程式注釋

04、函式的[in][out]引數

05、對系統呼叫的返回進行判斷

06、if 語句對出錯的處理

07、標頭檔案中的#ifndef

08、在堆上分配記憶體

09、變數的初始化

10、h和c檔案的使用

11、出錯資訊的處理

12、常用函式和迴圈語句中的被計算量

13、函式名和變數名的命名

14、函式的傳值和傳指標

15、修改別人程式的修養

16、把相同或近乎相同的**形成函式和巨集

17、表示式中的括號

18、函式引數中的const

19、函式的引數個數

20、函式的返回型別,不要省略

21、goto語句的使用

22、巨集的使用

23、static的使用

24、函式中的**尺寸

25、typedef的使用

26、為常量宣告巨集

27、不要為巨集定義加分號

28、||和&&的語句執行順序

29、盡量用for而不是while做迴圈

30、請sizeof型別而不是變數

31、不要忽略warning

32、書寫debug版和release版的程式

21、goto語究 使勁

22、巨集的使用

23、static的使用

24、函式中的**尺寸

25、typedef的使用

26、為常量宣告巨集

27、不要為巨集定義加分號

28、||和&&的語句執行順序

29、盡量用for而不是while做迴圈

30、請sizeof型別而不是變數

31、不要忽略warning

32、書寫debug版和release版的程式

———————————————————————— 

程式設計修養(一)

什麼是好的程式設計師?是不是懂得很多技術細節?還是懂底層程式設計?還是程式設計速度比較快?我覺得都不是。對於一些技術細節來說和底層的技術,只要看幫助,查資料就能找到,對於速度快,只要編得多也就熟能生巧了。我認為好的程式設計師應該有以下幾方面的素質 1 有專研精神,勤學善問 舉一反三。2 積極向上的態...

程式設計修養(一)

程式設計修養 什麼是好的程式設計師?是不是懂得很多技術細節?還是懂底層程式設計?還是程式設計速度比較快?我覺得都不是。對於一些技術細節來說和底層的技術,只要看幫助,查資料就能找到,對於速度快,只要編得多也就熟能生巧了。我認為好的程式設計師應該有以下幾方面的素質 1 有專研精神,勤學善問 舉一反三。2...

程式設計修養 一

程式設計修養 什麼是好的程式設計師?是不是懂得很多技術細節?還是懂底層程式設計?還是程式設計速度比較快?我覺得都不是。對於一些技術細節來說和底層的技術,只要看幫助,查資料就能找到,對於速度快,只要編得多也就熟能生巧了。我認為好的程式設計師應該有以下幾方面的素質 1 有專研精神,勤學善問 舉一反三。2...