提高自己和培养人才应该循序渐进,首先要能写好一个方法,之后能写好一个类,之后能写好一个程序,之后能做好一个产品......

怎样才能写好一个方法呢?
(下面给大家以伪代码形式的伪代码给大家举一个例子,仅仅是为了介绍一种思路)

首先明确方法的作用,确定参数个数,意义,类型及格式

注释采用Doxygen的注释方式,至于优点,请google

 考虑几个点
GrowUp( const in_param, .. out_param..)
{

    1.有入参,要检查参数的有效性
    2.如果有需要的话申请资源
    3.处理业务
    4.如果资源需要释放的话,切记一定要释放资源(也可以在申请资源处用智能指针或者局部对象析构来释放资源。就可省略此步)

     return ;
}

这样算是一个良好的方法了吗?在某些场景下是吧!以下继续:如果逻辑支持异常处理的话
GrowUp( const in_param, .. out_param..)
{
    .....
    假定在这里支持异常处理
    try
    {
        3.处理业务
    }
    catch(e&)
   {  
        return ?????               (很严重啊!资源释放了吗?注 意啊!把4复制到前面去吧)
    }
   .....
}


这样的方法已经不错了吧!在某些应用场景下是吧!如果要考虑并发呢?以下继续
GrowUp( const in_param,.. out_param..)
{
   比如用boost,当然还有其他实现,只是介绍一种思路
   boost::unique_lock lock(mutex_);
   ......
}


这时的方法呢?还不错,但是你忘记了,最后是用户使用产品,要是出了错你可不能单步调试了啊,于是,加上日志输出吧
GrowUp( const in_param,.. out_param..)
{
   拿强大的log4cxx吧
   LOG4CXX_TRACE
   ...
  LOG4CXX_WARN
   LOG4CXX_ERROR
   随你输出想要的信息  
}


这时的方法已经很不错了,但是你还没测试呢?所以进行单元测试吧,以gtest举例
TEST(Test, GrowUpTest)
{
   ASSERT_TRUE
   ASSERT_ANY_THROW
        ....
}

现在你可以放心使用这个方法了吧!