以下是一些糟糕的编程示例。目的是了解代码在做什么并用更好的代码重写它。
(来源:gyazo.com)
(来源:gyazo.com)
我尝试做的是按原样输入,编译它并尝试弄清楚在做什么。但我进步很小。这是一个试卷问题,所以我不能派年龄试图弄清楚这一点,但同时它是一个完整的问题。
这些代码在做什么,我怎样才能(更快)弄清楚它们?
谢谢你。
编辑:我不是要代码。我要求对代码进行解释。所以我真的不能给出片段。
一旦您了解了代码在做什么,只需更改变量和函数名称。完毕。在这种情况下,“糟糕的编程”正在为变量使用糟糕的名称,这并没有明确变量本身的用途
编辑:您分配的第二个任务是rewrite it in better code.
。这就是练习的美妙之处,在您在心理上“执行”算法之前很难知道发生了什么。提供更好的名称可以提高代码的质量。如果存在潜在的错误,则提供更好的名称可以提示您。
例子:
// bad code
int f(int a, int b){
return a < b ? a : b;
}
// better code
int min(int a, int b){
return a < b ? a : b;
}
// what? there must be a bug
int max(int a, int b){
return a < b ? a : b;
}
这些是非常基本和出色的代码。只需在纸上做一个空运行的代码,你就会很容易地得到关于他们在做什么的答案。就像,在 B 中,我们正在创建一个相同值的数组,item
直到b != -1
. 同样,只需假设一些值并在纸上解决它,然后用适当的行和缩进重新编写。