「linq」っていう名前だけでも 覚えて帰ってください!
TRANSCRIPT
「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