当前位置: 华文星空 > 知识

怎么样才算是精通 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