官术网_书友最值得收藏!

推薦序1

我在攻讀碩士學位時,學習的是軟件工程,從那時起我就和軟件工程結下了不解之緣,至今已經35年。在這期間,我的工作和軟件工程一直有著緊密聯系,我驚奇地發現,軟件工程的一些基本原則,歷經幾十年也沒有過時。在軟件開發過程中,所有的軟件開發者和軟件項目管理者都會面臨同樣的問題。不同的公司有不同的文化背景,雖然開發不同的軟件項目有不同的實踐過程,但要遵守的基本原則都是一樣的。軟件開發的方法論和基本原則,并不像語言和工具領域那樣活躍,它們都沒有明顯的變化。

我曾在美國硅谷的軟件公司工作,也曾在國內擔任大型軟件公司研發中心負責人。在百度,我曾領導工程效能部,并一直負責技術培訓中心的工作,這讓我有機會看到世界先進的軟件開發方法和實踐,有足夠的時間觀察、對比中外軟件工程師的不同。總結起來,我有兩個非常深刻的感受。第一,了解軟件開發基本原則的同事,比那些不了解基本原則的,編寫代碼的質量和開發效率明顯勝出一籌。我的同事,有些是軟件工程科班出身,有些沒有系統學習過軟件工程,他們在軟件開發過程中體現出來的工程素養很不一樣。缺乏工程素養,僅憑自己的直覺理解軟件開發,是一件非常糟糕的事情。例如,有些人重視代碼編寫技巧,而輕視軟件開發的工程屬性;有些人在對需求缺乏真正理解的時候就急于編寫代碼;有些人重視軟件的功能實現,輕視文檔對于軟件開發和軟件作品的重要性;有些人重視代碼的功能性,而對代碼的可讀性和可維護性是何等重要缺乏足夠的認知,等等。這導致軟件宕機、返工等質量問題時有發生。第二,中國和發達國家相比,軟件開發者的工程素養存在很大差距。作為軟件從業人員,我時常想“為什么那么多優秀軟件出自國外,而不是中國?”帶著這樣的問題,我去了硅谷,想一探究竟。幾年下來,我發現,美國的軟件工程實踐確實值得我們借鑒和學習。他們的軟件工程師開發出了那么多優秀的通用軟件,特別是質量很高的基礎軟件,這些軟件幾乎在全世界被使用,他們也積累了很多值得我們效仿的優秀實踐,總結出了很多我們必須牢記、付諸行動的軟件開發基本原則。

很高興看到201 Principles of Software Development的中譯本即將出版。這本書的出版對于提升國內軟件工程師的素養、學習國外先進的軟件工程理念,必將做出積極的貢獻。這本書通俗易懂,每一個原則短小精悍,既獨立成文,又相互聯系,是難得一見的軟件工程領域的好書,特別適合用于企業培訓中心對在職工程師的培訓,可使受訓者的工程能力和工程素養得到較大提升。

大概在五六年前,我們在百度開始進行軟件工程師工程素養專項培訓。作為百度代碼規范委員會主席,也是百度技術培訓中心金牌講師的章淼博士,特地為此開設了“代碼的藝術”課程,并指定201 Principles of Software Development作為教材,這門課程很快就成為百度工程師最喜愛的課程。

因為真喜歡,所以本書的譯者們不計較個人得失,付出大量時間和精力進行翻譯,目的是讓更多同行受益解惑。這本書的譯者都是上過“代碼的藝術”課程的學員,他們從中獲益,也深知這本書能給讀者帶來幫助。

陳尚義

百度技術委員會理事長

2021年7月寫于百度

主站蜘蛛池模板: 巴青县| 泾川县| 晋中市| 固安县| 即墨市| 澳门| 宁武县| 扶风县| 临澧县| 青神县| 曲沃县| 呼玛县| 松溪县| 四川省| 宽甸| 元氏县| 溧水县| 乌鲁木齐县| 隆德县| 疏勒县| 姚安县| 云安县| 郯城县| 新宁县| 云林县| 敖汉旗| 无棣县| 沙田区| 东莞市| 巨野县| 南安市| 岳普湖县| 渭源县| 苗栗县| 静海县| 马尔康县| 榆中县| 宿州市| 遂宁市| 安阳市| 河源市|