Test94299801 Test94299801 2017-09-05 19:19:41

[C#] 無駄過ぎるSwitch文 このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

大学の同期のコード こんな回り道をしなくても……

//落第しているかの判定
bool failFlg = false;
//もしも一つでも30点以下の科目があればfailFlgをtrueに
var fail = scoreList.Where(a => a.Score < 30).Count() > 0;
//判定
if (fail == true)
{
    failFlg = true;
}

//failFlgによって分岐処理
switch (failFlg)
{
    case true:
        Console.WriteLine("You failed");
        failWorks();
        break; ;
    case false:
        Console.WriteLine("You passed");
        passWorks();
        break;
    default:
        break;
}

使い方ヒント: 「これは臭う」という行を見付けたら、各行のsmellをクリックしてマーキングしておきましょう(要Twitter OAuth認証)

コメント(4)

#1 migimatsu migimatsu 2017-09-05 20:10:04  

switch が無駄なんじゃなくて、全部が全部無駄なんじゃないかと、、、ほぼワンライナーで書けると思うぞ ^^;

#2 yuu_hara yuu_hara 2017-10-07 00:23:52  

Console.WriteLine(scoreList.Any(a => a.Score < 30) ? "You failed" : "You passed");

でワンライナーですねー

ちなみにこれだと落第基準が30点 未満 になるので、コメントどおり 以下 にするなら < ではなく <= です

#4 InternalServerE InternalServerE 2017-10-21 05:42:20  

投稿者のコードが冗長なのは同意だとして、 #2 のワンライナーもこれはこれで過剰に縮めすぎな印象はある。
人が読んで保守することに重きを置くなら、もうっちょと意味単位に分割してもよい。

コメント投稿には、twitter認証が必要です。

Twitter認証

このウンコードに臭った人は、こちらのウンコードにも臭ってます

[Java] 内部的にunicodeだから日本語つかえ...

このエントリーをはてなブックマークに追加

これを書いた先輩に「英語で書きましょうよ...

class 会員 {
    private int 会員番号;
    p...

鑑賞する »

[Java] is禁止令

このエントリーをはてなブックマークに追加

ウンコードの趣旨とは違い、レビューで指摘...

// Mod yamada Start

// 一般的に考えて真偽値を返すメ...

鑑賞する »

[Java] 連番

このエントリーをはてなブックマークに追加

もはや人間が読むものではない。

...

package com.renban.erq053.czp008;

/**...

鑑賞する »