厲害了!剛寫完這段代碼,就被老板開除了
這幾天,又來了一個悲劇。。。
據說是一個月薪 9K 的 Java 程序員,因老板讓他寫一個排序算法,然后他就寫了一段屌炸tian休眠排序算法,接著他就被老板開除了……
排序算法代碼大概是這樣的:

這段代碼有什么問題?
這個程序員更屌啊,數字排序,用一行簡單的 Arrays.sort 就搞定的東西,他竟用到了這么多概念。
- 循環
- 線程休眠
- 多線程
下面貼上完整的代碼:
- /**
- * 微信公眾號:Java技術棧
- */
- public class ArraySort implements Runnable {
- private int number;
- public ArraySort(int number) {
- this.number = number;
- }
- public static void main(String[] args) {
- int[] numbers = new int[]{102, 338, 62, 9132, 580, 666};
- for (int number : numbers) {
- new Thread(new ArraySort(number)).start();
- }
- }
- @Override
- public void run() {
- try {
- Thread.sleep(this.number);
- System.out.println(this.number);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
還好是數字小啊,還好休眠是毫秒啊,要是數字大,要是休眠時間是秒,那要等多少休眠時間才能排序完?
按道理,他的程序也沒問題啊,老板為什么要開除他?應用程序中出 BUG 不是很正常的事嗎?但他這種排序思維,能寫出這樣的隱藏 BUG 也是絕了,創造性的發明了 "休眠排序" 算法,系統里面還不知道有多少這樣的坑,不開除他開除誰啊?
或許他應該看一下排序這篇文章:《圖文帶你了解 8 大排序算法》。
說到這個程序員,讓我想起了最近審查代碼時候的幾個坑,真是讓人哭笑不得。。。
示例1:
- if(flag == false){
- return true;
- } else {
- return false;
- }
直接 return flag 不行?寫這么繞,還把邏輯寫錯了。
示例2:
- if(...)
- a
- b
- c
多段代碼,if 不加 {},后面格式化成了:
- if(...)
- a
- b
- c
這樣導致業務邏輯有嚴重的 BUG,無語了吧?還有更多奇葩的,審查代碼真心累。。。