您的当前位置:主页 > 网络公司信息技术 >

我去,你写的 switch 语句也太老土了吧

时间:2021-01-06

昨天早上经过长途的方法 review 了两名新来搭档的代码,大部分代码都写得很漂亮,谨慎的一起注释也很到位,这令我十分满足。但当我看到他们傍边有一个人写的 switch 句子时,仍是不由得破口大骂:“我擦,小王,你丫写的 switch 句子也太老土了吧!”

来看看小王写的代码吧,看完不要骂我装逼啊。

private static String createPlayer {
 switch  {
 case TENNIS:
 return 网球运动员费德勒 
 case FOOTBALL:
 return 足球运动员C罗 
 case BASKETBALL:
 return 篮球运动员詹姆斯 
 case UNKNOWN:
 throw new IllegalArgumentException;
}

看完上述代码后,你是不是会宣布这样的慨叹——“代码写得很好,没有任何问题啊!”是不是觉得我在无事生非,错怪了小王!但此刻我要送上《了不得的盖茨比》中的一句话:

我年岁还轻,履历不深的时分,我父亲教训过我一句话,我至今还记忆犹新。 “每当你想要批判任何人的时分, ”他对我说,“你就记住,这个世界上所有的人,并不是个个都有过你具有的那些优胜条件。”

哈哈,这句话不光是让你看的,也是给我看的。是时分冷静下来谈谈上述 switch 句子的老土问题了。

来看看小王写的代码吧,看完不要骂我装逼啊。

private static String createPlayer {
 switch  {
 case TENNIS:
 return 网球运动员费德勒 
 case FOOTBALL:
 return 足球运动员C罗 
 case BASKETBALL:
 return 篮球运动员詹姆斯 
 case UNKNOWN:
 throw new IllegalArgumentException;
}

看完上述代码后,你是不是会宣布这样的慨叹——“代码写得很好,没有任何问题啊!”是不是觉得我在无事生非,错怪了小王!但此刻我要送上《了不得的盖茨比》中的一句话:

我年岁还轻,履历不深的时分,我父亲教训过我一句话,我至今还记忆犹新。 “每当你想要批判任何人的时分, ”他对我说,“你就记住,这个世界上所有的人,并不是个个都有过你具有的那些优胜条件。”

哈哈,这句话不光是让你看的,也是给我看的。是时分冷静下来谈谈上述 switch 句子的老土问题了。

看到上图了吧,当不小心删掉 default 句子后,编译器就会报错,提示:“没有回来句子”,为了处理这个问题,咱们能够新建一个 player 变量作为回来成果,就像下面这样:

private static String createPlayer {
 String player = null;
 switch  {
 case TENNIS:
 player = 网球运动员费德勒 
 break;
 case FOOTBALL:
 player = 足球运动员C罗 
 break;
 case BASKETBALL:
 player = 篮球运动员詹姆斯 
 break;
 case UNKNOWN:
 throw new IllegalArgumentException {
 return switch  {
 case TENNIS - 网球运动员费德勒 
 case FOOTBALL - 足球运动员C罗 
 case BASKETBALL - 篮球运动员詹姆斯 
 case UNKNOWN - throw new IllegalArgumentException {
 System.out.println);
 private static String createPlayer {
 return switch  {
 case TENNIS - 网球运动员费德勒 
 case FOOTBALL - 足球运动员C罗 
 case BASKETBALL - 篮球运动员詹姆斯 
 case PINGPANG - 乒乓球运动员马龙 
 case UNKNOWN - throw new IllegalArgumentException {
 return switch  {
 case TENNIS - 网球运动员费德勒 
 case FOOTBALL - 足球运动员C罗 
 case BASKETBALL,PINGPANG - 牛逼运动员缄默沉静王二 
 case UNKNOWN - throw new IllegalArgumentException {
 return switch  {
 case TENNIS - {
 System.out.println {
 String var10000;
 switch {
 case TENNIS:
 System.out.println;
 return var10000;
}

可是,话又说出来,那些看似 fashion 的代码也不过是把部分秀技的作业交给了编译器,还或许存在对旧版本不兼容、对队友不友好的问题——代码土点就土点呗,没准是最有用的。

“不好意思,我为昨天早上的放肆向你抱歉。。。。。。”我向小王发送了一条信息。

关于我们
我们的服务
我们的案例
新闻动态
联系我们

公司服务热线

Copyby 2020 Power by DedeCms