ALU Reflection

一、 实现过程中的bug

  1. char 与 int 的转换老是忘记……
  2. 减法参数传反了(主要是顺序不符合正常逻辑
  3. 字符串相等用 equals

二、 反思

  1. 代码没有经过充分的测试前,都是错误的,在后面调用前面未测试的模块只会增加调试的麻烦。
  2. 多使用assert尽早发现问题
  3. 左移右移用的蛮多的,应该抽象为函数,重复了好多次

三、 收获

  1. 恢复除法存在的bug,即被除数为负与除数恰好相加为0是,被判定为异号不够除,但实际是够的。
    解决方法:可以到最后调整余数与商。

  2. 自己写测试用例,将int最大最小值,0,正负相乘等边界情况做测试,也可以写random

  3. char数组转String

    1
    2
    String.valueOf (Arrays.copyOfRange (arr, i, j))
    String.valueOf (Arrays.copyOf (arr, Length))