昨天新进一个组员,比我多三年工作经验。让他先看培训文档,并抽空用C写个小程序。他有8年的工作经验,之所以让他写个小程序,主要是想看看他的编程习惯。具体任务是用C实现一个动态数组,以库的形式提供别人,我再三强调是实现一个库,也就是提供给别人使用的。

 

我期望的基本目标如下:

1.         一组好的接口。

2.         隐藏内部细节。

3.         良好的编程风格。

4.         可以供C/C++调用。

5.         带有自动测试程序和DEMO程序。

6.         其它基本要求。如防止重复include等。

 

晚上看了一下,感觉还行:

1.         一组好的接口。实现的是一个指针数组,而不是一个通用的数组,这与期望的目标有些偏差。即使保存是一个对象指针,我想应该可以让调用者指定析构函数,但是该库没有提供这个功能。

2.         隐藏内部细节。对于内部函数,隐藏得比较好,一律为static的。但是结构声明放在头文件中的,这把数据结构暴露给了调用者。

3.         良好的编程风格。编程风格还不错,排版布局,注释、命名都比较规范。

4.         可以供C/C++调用。没有有条件的声明为extern "C",所以不能被C++调用。

5.         带有自动测试程序和DEMO程序。有简单的自动测试程序和DEMO程序。

6.         其它基本要求。如防止重复include等。在头文件中有此处理。

 

尽管和期望的有些差距,总的说来表现不错。