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

版权声明:转载请注明来源微信公众号:Java技术栈(ID:javastack),非法转载者将追究其法律责任。 https://blog.csdn.net/youanyyou/article/details/84026290

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

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

据说是一个月薪 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),转载请原样保留本信息。

大神们帮帮我吧,在搞不出来就被除了

11-18

我整合了一个框架,用的springmvn+spring+data-jpa,当配置当个数据源的时候,整个都跑通了,现在需求是连接多个数据库(假设是2个吧),在配置多数据源的时候整个不会了。我先奉上但数据源代码和配置文件。rnapplication.xml文件rnrn rn rn rn rn rn rn rn rn rn rn $hibernate.dialect rn $hibernate.temp.use_jdbc_metadata_defaults rn $hibernate.show_sql rn $hibernate.format_sql rn $hibernate.max_fetch_depth rn $hibernate.jdbc.fetch_size rn $hibernate.jdbc.batch_size rn $hibernate.hbm2ddl.autorn $javax.persistence.validation.modern rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrnrnrnMETA-INF下persistence.xmlrn rn org.hibernate.ejb.HibernatePersistence rn rn rn rn rn rn rn rn rn rnrnrnrnrepositoryrnpackage com.htxx.aisino.repository.repfirst;rnrnimport com.htxx.aisino.entity.enfirst.PersonTable;rnimport java.util.List;rnimport org.springframework.data.jpa.repository.JpaSpecificationExecutor;rnimport org.springframework.data.repository.PagingAndSortingRepository;rnrnpublic interface PersonTableRepository extends PagingAndSortingRepository, JpaSpecificationExecutorrnrn public abstract List findBySex(String paramString);rnrn public abstract List findByAge(String paramString);rnrnrnrnrnENTITYrn@Entityrn@Table(name="PERSON")rnpublic class PersonTablern implements Serializablernrnrn @Idrn @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="NIU_SEQ_STORE")rn @SequenceGenerator(name="NIU_SEQ_STORE", sequenceName="NIU_SEQ", allocationSize=1)rn @Column(name="id", unique=true, nullable=false)rn private int id;rnrn @Column(name="name", length=20)rn private String name;rnrn @Column(name="sex", length=2)rn private String sex;rnrn @Column(name="age", length=5)rn private String age;rnrn @Column(name="education", length=10)rn private String education;rnrn public int getId()rn rn return this.id;rn rnrn public void setId(int id) rn this.id = id;rn rnrn public String getName() rn return this.name;rn rnrn public void setName(String name) rn this.name = name;rn rnrn public String getSex() rn return this.sex;rn rnrn public void setSex(String sex) rn this.sex = sex;rn rnrn public String getAge() rn return this.age;rn rnrn public void setAge(String age) rn this.age = age;rn rnrn public String getEducation() rn return this.education;rn rnrn public void setEducation(String education) rn this.education = education;rn rnrn public String toString()rn rn return "PersonTable [id=" + this.id + ", name=" + this.name + ", sex=" + this.sex + rn ", age=" + this.age + ", education=" + this.education + "]";rn rnrnrnservice 层和controller就不写了rn这样是跑的通的rnrn 论坛

没有更多推荐了,返回首页