關於開源的金玉良言

  1. 好的軟件做品,每每源自於開發者的我的須要。
  2. 優秀的程序員知道寫什麼,卓越的程序員知道改寫(和重用)什麼。
  3. 「計劃好扔掉一個吧,早晚你會這麼作的。」(Fred Brooks,《人月神話》第11章)
  4. 若是你有正確的態度,有趣的事情天然會找到你。
  5. 當你對一個程序再也不感興趣時,你最後的責任就是把它交給一個能夠勝任的接棒者。
  6. 把你的用戶當成開發合做者對待,若是想讓代碼質量快速提高並有效排錯,這是最省心的途徑。
  7. 早發佈,常發佈,傾聽用戶的反饋。
  8. 若是有足夠多的beta測試者和合做開發者,幾乎全部問題都會很快顯現,而後天然有人會把它解決。程序員

    beta測試即「β測試」,和「α測試」相對應。對於一個即將面世的軟件產品,α測試是指軟件公司組織內部測試人員模擬各種用戶行爲對產品(此時爲α版本)進行測試。隨後的β測試是指軟件公司組織各種典型用戶在平常工做中實際使用(此時產品爲β版本),並要求用戶報告錯誤及異常狀況。最後軟件公司再對β版本進行改錯和完善。安全

  9. 聰明的數據結構配上愚笨的代碼,遠比反過來要好得多。數據結構

  10. 若是你把beta測試者當作最珍貴的資源對待,他們就會成爲你最珍貴的資源。
  11. 僅次於擁有好主意的是,識別來自用戶的好主意,有時後者會更好。
  12. 一般,那些最有突破性和最有創新力的解決方案來自於你認識到你對問題的基本觀念是錯的。
  13. 「設計上的完美不是沒有東西能夠再加,而是沒有東西能夠再減。」
  14. 任何工具都應具有預期內的功能,但一個偉大的工具能給你帶來預期外的功能。
  15. 寫網關類軟件時,儘量不要干擾數據流,並且毫不要扔掉信息,除非接收方強迫你這麼作。
  16. 當你的語言還遠不是圖靈完備(Turing-complete)的時候,語法糖會讓你受益良多。工具

    語法糖(Syntactic Sugar,或譯爲語法糖衣)是英國計算機科學家Peter J.Landin發明的術語,是指爲計算機語言添加某種不會影響語言功能的成分,但卻使其更易用一些,目的是加強代碼可讀性,避免出錯的機會。測試

  17. 系統的安全性只取決於它所擁有的祕密。謹防虛假的祕密。spa

  18. 想要解決一個有趣的問題,先去找一個讓你感興趣的問題。
  19. 若是開發協調者有一個至少像Internet這樣好的溝通媒介,而且知道如何不靠強制來領導,那麼多人合做必然強於單兵做戰。

 

摘自《大教堂與集市》設計

相關文章
相關標籤/搜索