大家来评判一下小弟我的编程风格

大家来评判一下我的编程风格
对于goto语句,我是绝对不用的,所以   ....

以一个函数举例
DWORD   func()
{
        DWORD   ret   =   TRUE;   //   初始化我的返回值

        ...
        if   (rv   ==   TRUE)
        {
                ....
                //出错了
                ret   =   FALSE;
        }

        if   (ret   ==   TRUE)
        {
                //前面执行正确才能到这里,这种方法避免了使用GOTO,或者出错就return
        }

        return   ret;//就这一个出口点
}

前面的描述的编程风格,可以避免使用GOTO,而且函数只用一个出口点,即最后的return,而且在处理比如释放内存等操作时,可以在函数的最后处理一次,是否很方便?

当然,这种编程风格也有不足,请高手评判一下。

------解决方案--------------------
bool func() //如果是true,false 做返回值就要用bool 型.不要将bool和整形混用
{
//DWORD ret = TRUE; // 初始化我的返回值 //没必要分配这个变量

...
if (rv == /*TRUE*/true) //大写的TRUE是一个宏,尽量使用内置的bool类型.可移植性好
{
....
//出错了
//ret = FALSE;
//return ret;
return false;
}

//if (ret == TRUE)
//{
//前面执行正确才能到这里,这种方法避免了使用GOTO,或者出错就return
....
//}

return true;//就这一个出口点
}

如果是我编这段程序,我会写成上面的样子.我的编程目标是:简洁 -- 避免不必要的变量和运算语句;最大程度保证效率和可移植性.当然,简洁的话可维护性也会好:)
不过,并不是说我这样写就最好,只是拿出来大家探讨学习:)
------解决方案--------------------
任何事情都不是绝对的,goto在一些情况下(如LZ要表达的情况)是可以清楚地展现代码的逻辑层次

DWORD func()
{
DWORD ret = TRUE; // 初始化我的返回值

...
if (rv == TRUE)
{
....
//出错了
ret = FALSE;
goto ERROR;
}

//前面执行正确才能到这里,这种方法避免了使用GOTO,或者出错就return

//出错了
ret = FALSE;
goto ERROR;

//前面执行正确才能到这里,这种方法避免了使用GOTO,或者出错就return

//出错了
ret = FALSE;
goto ERROR;


ERROR:
return ret;//就这一个出口点
}

------解决方案--------------------
在适当的地点适当的用goto..
------解决方案--------------------
1 goto也不是绝对不能使用,很多情况下使用goto可以让代码更容易读懂
2 “函数只能有一个出口”这种看法其实不正确,很死板

------解决方案--------------------
我感觉这样写风格比较好

//伪代码
if (出错了)
{
return false;
}
------解决方案--------------------
呵呵, 习惯问题,
似乎很多公司/企业都有自己的编码规范,
这个也不说了 ~

不过,
基本上是不错 ~

PS:
goto 是极端的东西,
但是它在一些极端的情况下绝对很好用 ~
------解决方案--------------------
算算复杂度也知道,你现在的代码,分支路径更多,测试将更困难。
你最好看看《重构》一书。
------解决方案--------------------
其实return的灵活性正好是提高程序运行效率的好方法

------解决方案--------------------
可以适当的将大块函数分解成几个小函数嘛~
------解决方案--------------------
出错了,直接return好点吧,特意强调一个出口,有时候程序编的人好憋屈。
------解决方案--------------------
.. .. 如果需要判定的條件太多了 不就有問題了.