【今日のテーマ】
リファクタリング
昨日、教えて頂いた「リファクタリング」という単語
生まれて初めて聞いた言葉でしたので、ネットで検索をしてみました。
※以下、Wikiから
リファクタリング (refactoring) とはコンピュータプログラミングにおいて、
プログラムの外部から見た動作を変えずにソースコードの内部構造を整理すること。
いくつかのリファクタリング手法の総称としても使われる。
十分に確立された技術とはいえず、「リファクタリング」の語にも厳密な定義があるわけではない。
つ、つまり綺麗にすることなのかなとw
いくつかのサイトにリファクタリングというものの
技術体系が説明されているのですが
わからない単語のオンパレードで心が折れそうw
しかし、この技術を使用して
プログラムの生産性を上げていくという目的は
自分の今やろうとしていることと一致しているので
取り入れれるところは取り入れていこうと思います。
一旦、この考え方を知ってから書くソースと
知らないでだらだら書くソースは大分違うと思います。
そしてちょうどif文の書き方を、この「リファクタリング」という
考え方に基づいて書くタイミングがあったので
使ってみました。あってるかどうかはわかりませんが。
■実装しようとしたこと
音消しフラグ
タイトル画面で音を出す、消すのボタンを押して
ゲーム画面での音の出力を決めたい。
(今回のアプリで初実装)
■仕様
NSUserDefaultsへBOOL型でデータをいれておけばいいじゃない?
昨日までに想像してた書き方は
1 2 3 4 5 |
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; BOOL isSound = [ud boolForKey:@"isSound"]; if(isSound){ //音出すよ } |
と書くつもりで、毎回NSUserDefaultsの定義を呼び出そうとしてたのですが
今回はBOOL型の関数を使って
1 2 3 4 5 6 7 8 9 |
-(BOOL)isSoundFlg{ NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; // 取得 BOOL isSound = [ud boolForKey:@"isSound"]; // KEY_Bの内容をBOOL型として取得 return isSound; } //別のメソッドで if ([self isSoundFlg]) { //音出すよ } |
としてみました。
毎回呼び出さなくても一回関数で書いてるので
これを何度も使うならかなり便利。
てか、これであってるかどうかはわかりませんがw
【まとめ】
ゲームのアプリを作る
と考えた場合、面白ネタさえあればソースなんて、
正直どうだっていいのかもしれません。
しかし、残念ながら私にはパズドラを思いつくことが出来ません。
「出来れば生産性を上げて、少しずつゲーム性を上げていきたい。」
そう考えたときに、自分のソースの再利用出来る確率を増やして
どんどん出来ることを増やしていきたい。
そういった意味で、今回教えて頂いた「リファクタリング」という技術は、
今すぐに、すべて実践出来ないかもしれないですが、
私にとって勉強していかなければいけない技術の一つです!
一人でソースを書くからこそやるべきだと思います。
【リファクタリングとは】アプリ開発日記(11/08) http://t.co/Hgv0dSYLWw
早速実践してる! RT @tomo_tsuru ブログかきました!// 【リファクタリングとは】アプリ開発日記(11/08): http://t.co/LmJfGyPdmD
@tomo_tsuru いいね!
なるほど。もっとがんばってみます!