• 刚写完排序算法,就被开除了…


    刚写完这段代码,就被开除了……

    栈长前些天刚写完上面这篇文章,没几天,又来一个悲剧。。。

    据说是一个月薪 9K 的 Java 程序员,因老板让他写一个排序算法,然后他就写了一段屌炸天的休眠排序算法,接着他就被老板开除了……

    排序算法代码大概是这样的:

    这段代码有什么问题?

    这个程序员更屌啊,数字排序,用一行简单的 Arrays.sort 就搞定的东西,他竟用到了这么多概念。

    1、循环

    2、线程休眠

    3、多线程

    下面贴上完整的代码:

    /**
     * 微信公众号: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,无语了吧?还有更多奇葩的,栈长审查代码真心累。。。

    你还见过哪些更奇葩的代码?欢迎留言分享一下。

    有共同兴趣志向的,都可以关注博主的公众号:Java技术栈(id:javastack)。

    本文原创首发于微信公众号:Java技术栈(id:javastack),转载请原样保留本信息。

  • 相关阅读:
    转:每个架构师都应该研究下康威定律
    使用OpenShiftFQ上外网
    关系模式设计
    数据库应用系统工程过程
    数据库系统
    四种常见 Git 工作流比较
    Git 进阶指南
    C#高性能TCP服务的多种实现方式
    浮动广告
    <span></span>
  • 原文地址:https://www.cnblogs.com/java-stack/p/11952393.html
Copyright © 2020-2023  润新知