「LINQ」っていう名前だけでも 覚えて帰ってください!

Post on 22-Jul-2015

582 views 2 download

Transcript of 「LINQ」っていう名前だけでも 覚えて帰ってください!

「LINQ」っていう名前だけでも覚えて帰ってください!

室星亮太

2014/12/18(木) Unity.お・と・な.のLT大会2

質問です

ゲームを作るのは好きですか?or

ゲームでお金を稼ぎたいですか?

YESですよね

面白いゲーム!or!売れるゲームを作るのに大事なことって何でしょう?

独自性、対戦、エフェクトサウンド、操作性、ストーリー、キャラクター、シナリオ、UI

強力プレイ、マーケティング気持ちよさ、ゲームバランス

大事なことを忘れていました

簡潔で読みやすいコード

なぜかって?動けば同じじゃないかって?

仕様、変わりますよね?リリース後もアプデしますよね?

「汚いコードでとりあえず動く物」短期的には早いかもしれない

×"短期的な開発速度◯!中・長期的な開発速度

仕様は開発途中で変わりますよね?簡潔で読みやすく奇麗なコードこれに比べて汚く長いコードの仕様変更はとても大変!

遊びながら試行錯誤し面白い物を作るそれには簡潔で読み安いコードが必要!あと汚く長いコード、まじアプデしんどい!

読みやすいコードは大切賛成していただけますか?

YESですかね?

では、面白いゲーム!or!売れるゲームに

「簡潔で読みやすいコードが大切」に賛成してくれたみなさん!

LINQご存知ですか?

ご存じない?では、ぜひ覚えて帰ってください!

LINQ

LINQを使うとどうなる!?

コードが短く、そして読みやすくなる!よくあるforeach文・if文の6行ほどのコードが...

// LINQを使わないとint deadPlayerCount = 0;foreach (Player player in playerList) { if(player.HP <= 0) { deadPlayerCount++; }}

コードが短く、そして読みやすくなる!たった1行に!読みやすい!

// LINQを使うとint deadPlayerCount = playerList.Count (player => player.HP <= 0);

コードが短く、そして読みやすくなる!// LINQを使わないとint deadPlayerCount = 0;foreach (Player player in playerList) { if(player.HP <= 0) { deadPlayerCount++; }}

// LINQを使うとint deadPlayerCount = playerList.Count (player => player.HP <= 0);

LINQを使うとコードが短く、そして読みやすくなる!

「LINQのないC#なんてC#じゃないです」このように語る方もいます。

Xamarinの勉強会では、95%くらいの人がLINQ知っていて使ってました

(残りの5%には、僕のLT聞いていなかった人含む)

でもUnityだとびっくりするくらいLINQは使われていない気がする...

理由は?• プログラマだけでなく、様々な人がUnityを使うから

• iOSでのみ、いくつかの条件が重なると例外が発生するから

初学者の方はLINQ以外にも覚えることあるし、プログラマの方も、iOSでこれだと厳しい...

それでもやっぱりLINQを知ってもらって、使ってもらいたい

LINQ知らないという人向けに...

UNIBOOK2に書きましたすぐ使えるオススメ!LINQ!メソッド!4!選

iOSでも安心してLINQを使いたい...

iOSでも安心してLINQを使えるライブラリ(目標)

UniLinq(仮)開発中。もうちょっとでリリースできる!

12/23のプロ生勉強会でLTしたり、アドベントカレンダーもLINQ関連書きます

LINQ名前だけでも覚えて帰ってください!

「LINQ」っていう名前だけでも覚えて帰ってください!

室星亮太

2014/12/18(木) Unity.お・と・な.のLT大会2