书籍 推荐好书《代码之美》

chenge · 2013年05月06日 · 最后由 ywjno 回复于 2013年05月11日 · 2880 次阅读

这本书是几年前出版的,曾获得软件奥斯卡 Jolt 大奖。Maze 写的在 29 章。其中的案例很值得学习的。

你觉得怎样的代码是美的呢?估计没有标准答案,简洁,性能,可靠等等。有兴趣讨论下么?

看的懂的,易维护的。

第七章是一个二分查找的测试例子,下面的 java 代码有 bug,你能看出来么?

public static int buggyBinarySearch(int[] a, int target) {
                int low = 0;
                int high = a.length - 1;
                while (low <= high) {
                    int mid = (low + high) / 2;
                    int midVal = a[mid];
                    if (midVal < target)
                        low = mid + 1;
                    else if (midVal > target)
                        high = mid - 1;
                    else
                        return mid;
                   }
                   return -1; 
}

#2 楼 @chenge 是 low+high 会溢出?貌似《编程珠玑》也有

(low + high) / 2应该用移位来计算,不然会溢出(int 类型连 13 个 9 都没法保存)

需要 登录 后方可回复, 如果你还没有账号请 注册新账号