當前位置: 華文星空 > 知識

怎麽樣才算是精通 C++?

2013-08-20知識

谷歌工程師對C++的掌握有兩個級別:

1. 擁有C++的readability(可讀性)認證。透過這個認證需要在實際工作中寫出一個比較復雜的完整的類,然後將這個類送出到一個委員會進行審查,委員會會幫你糾正常見的錯誤,如果你的這個類滿足 style guide[1]的所有要求,一兩個星期之後你就可以拿到可讀性認證。一般來說,你需要在實際工作中寫過至少 幾千行程式碼 才能達到這個要求。C++的readability對工程師的意義主要有兩個,一個是熟悉並避免C++的缺陷(比如不要使用iostream和exception),另一個是熟悉一些常用的庫函式(比如string的各種操作,hash_map和smart pointer的使用等)。透過這個認證之後,工程師就有權利在code review中審閱其他人寫的C++程式(註意這個不是readability review)。絕大多數工程師對C++的掌握處在這個水平。

2. 顧問級C++程式設計師。一般需要寫過 數萬行 C++程式碼,用C++實作過比較復雜的系統,熟悉常見的設計模式並在實際工作中套用,對程式碼重構有豐富經驗,最重要的是,成為小組以及周圍同事的C++顧問,是同事有C++使用問題時最先想到詢問的人。顧問級C++程式設計師通常是高級工程師(senior engineer)及以上級別,不僅對某種程式語言,對工作中的各種工程問題也經驗豐富。

其實「精通C++」並不僅僅是熟悉C++本身,你需要對C++需要實作的工程問題和周邊問題同樣精通;而且「精通C++」這種說法是相對的,如果你能成為組裏的C++顧問,能夠幫助同事正確使用這種語言有效率地解決工程問題並避免C++的誤區,你就算是精通C++的那個人。

[1] http:// google- styleguide.googlecode.com /svn/trunk/cppguide.xml