压缩代码?

时间:2012-10-06 02:21:36

标签: c++ optimization loops coding-style clear

假设我想从堆栈中弹出对象并检查它们的状态,无论是FUP(面朝上)还是没有。

我想继续这样做,直到我达到堆栈为空或者实例的状态没有朝上的程度;在这种情况下,我需要将此实例推回并停止循环。

这是一种方法:

bool isfup = true;

while(pop(stack, &ins) && isfup = ins->state == FUP)
{
    // continue removing elements from stack
}

if(isfup == false)
    push(stack, ins);

以下是我的表现方式:

while(pop(stack, &ins) && (ins->state == FUP || (push(stack, ins) && false)));
// while( A && ( B || ( C && false ) ) );

我的问题是,我是否应该停止编写这种风格的代码并明确一致?或者我应该保留它?

3 个答案:

答案 0 :(得分:4)

使用长而清晰的方式将其放入函数中,然后在需要调用函数时快速调用该函数。毕竟,这是程序编程中函数的目的之一! : - )

答案 1 :(得分:1)

如果堆栈最初为空或变空,则您的元代码会崩溃。 另外,作为一种风格问题,请检查顶部元素,然后弹出或继续

while(!stackEmpry(stack) && (top(stack)->state==FUP)) { pop(stack); }

答案 2 :(得分:1)

任何非一次性程序都会由您或其他人阅读,而不是写入。这种编码风格需要更长的时间来编写,甚至更长时间才能读取,运行速度更快,容易出错。你想要完成什么?

在人们用纸张打印代码的过去,你可能有借口,但在这个时代,视网膜显示无处不在......

相关问题