做軟體的基本原則

2021-04-01 09:51:57 字數 2423 閱讀 9383

不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。 

1. 紮實的基礎。資料結構、離散數學、編譯原理,這些是所有電腦科學的基礎,如果不掌握他們,很難寫出高水平的程式。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程式人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學oop,即使你再精通oop,遇到一些基本演算法的時候可能也會束手無策。 

2. 豐富的想象力。不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想象力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是乙個很好的途徑。 

3. 最簡單的是最好的。這也許是所有科學都遵循的一條準則,如此複雜的質能互換原理在愛因斯坦眼裡不過是乙個簡單得不能再簡單的公式:e=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮複雜的方案。 

4. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕**,和朋友聊聊天。當我遇到難題的時候會去玩遊戲,而且是那種極暴力的打鬥類遊戲,當負責遊戲的那部分大腦細胞極度亢奮的時候,負責程式設計的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。 

5. 對答案的渴求。人類自然科學的發展史就是乙個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。 

6. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。 

7. 良好的程式設計風格。注意養成良好的習慣,**的縮排編排,變數的命名規則要始終保持一致。大家都知道如何排除**中錯誤,卻往往忽視了對注釋的排錯。注釋是程式的乙個重要組成部分,它可以使你的**更容易理解,而如果**已經清楚地表達了你的思想,就不必再加注釋了,如果注釋和**不一致,那就更加糟糕。 

不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。 

1. 紮實的基礎。資料結構、離散數學、編譯原理,這些是所有電腦科學的基礎,如果不掌握他們,很難寫出高水平的程式。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程式人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學oop,即使你再精通oop,遇到一些基本演算法的時候可能也會束手無策。 

2. 豐富的想象力。不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想象力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是乙個很好的途徑。 

3. 最簡單的是最好的。這也許是所有科學都遵循的一條準則,如此複雜的質能互換原理在愛因斯坦眼裡不過是乙個簡單得不能再簡單的公式:e=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮複雜的方案。 

4. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕**,和朋友聊聊天。當我遇到難題的時候會去玩遊戲,而且是那種極暴力的打鬥類遊戲,當負責遊戲的那部分大腦細胞極度亢奮的時候,負責程式設計的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。 

5. 對答案的渴求。人類自然科學的發展史就是乙個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。 

6. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。 

7. 良好的程式設計風格。注意養成良好的習慣,**的縮排編排,變數的命名規則要始終保持一致。大家都知道如何排除**中錯誤,卻往往忽視了對注釋的排錯。注釋是程式的乙個重要組成部分,它可以使你的**更容易理解,而如果**已經清楚地表達了你的思想,就不必再加注釋了,如果注釋和**不一致,那就更加糟糕。 

8. 韌性和毅力。這也許是"高手"和一般程式設計師最大的區別。a good programming is 99 weat and 1?ffee。高手們並不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。

內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。

軟體測試的基本原則

在軟體測試過程中,應注意和遵循的具體原則,具體可以概括為以下幾項,接下來我們就來了解一下。1.所有測試標準都是建立在使用者需求之上。軟體測試的目標就是驗證產品的一致性和確認產品是否滿足客戶的需求,所以測試人員要始終站在使用者的角度去看問題 去判斷軟體缺陷的影響,系統中嚴重的錯誤是那些導致程式無法滿足...

軟體測試的幾個基本原則

我一直認為軟體測試是一件很有原則的工作,這個原則是最重要的,方法都應該在原則指導下進行。軟體測試的基本原則是站在使用者 的角度,對產品進行全面測試,盡早 盡可能多地發現 bug,並負責跟蹤和分析產品中的問 題,對不足之處提出質疑和改進意見。軟體零缺陷 zero bug 是一種理念,足夠好 good ...

做程式設計師的基本原則

不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。1.紮實的基礎。資料結構 離散數學 編譯原理,這些是所有電腦科學的基礎,如果不掌握他們,很難寫出高水平的程式。據我的觀...