よくよく考えるとD言語のジェネリクスとかテンプレートとか全然知らなかったので、テンプレートを使って見ました。
2013年11月30日土曜日
2013年11月18日月曜日
2013年9月13日金曜日
D言語 + SDL2.0でテトリス的なものを作ってみた
気づいたら既に9月も半ばなんですがそれは……
書いたコードはここにあります。
https://github.com/rigibun/PuzzleGame
1ファイルで全部やってたり、中途半端にオブジェクト使ってるけど基本的には手続き指向だったり、コメント書いてなかったりと色々ひどいことになってるけど。
githubのリポジトリ作る画面でライセンスをパブリックドメインにしといたけど、実際バイナリ作るときはSDLとかそれぞれ違うライセンス持ってたりするからよく分からない。
SDL2.0はここにあるんで適当にインストールしたりすれば多分動くと思います。
ただ、 Thread.sleep( dur!("msecs")(1) ); とかやってるのであまり互換性ないかもしれない。そのあたりは全然分かってない。
・コメント書いてない。最初にREADMEに日本語書かなかったことから、なんとなく英語使うことにこだわってたけど、そもそも英語力なんて無いし(関数の命名とか見れば分かるけど)、
最初から日本語でコメント書いとけばいいのでは。
・テトリスとしてのゲーム性。スーパーローテーションとか言うモダンなテトリスの機能は全然入れてない。
・メンテナンス性。皆無。
実際にはスコア表示というか消したライン数の表示と、NEXTの表示くらいはやりたかったけど、完成したコード見たら直す気が全く起こらない。
・実装力というか、設計力というか、プログラミング力が足りない。全体の見通しが立たない。
・どんなクソなプログラムでも完成させることは大事。"Just Fxxking Do It."
もっとまともなコードが書けるようになりたい
書いたコードはここにあります。
https://github.com/rigibun/PuzzleGame
1ファイルで全部やってたり、中途半端にオブジェクト使ってるけど基本的には手続き指向だったり、コメント書いてなかったりと色々ひどいことになってるけど。
githubのリポジトリ作る画面でライセンスをパブリックドメインにしといたけど、実際バイナリ作るときはSDLとかそれぞれ違うライセンス持ってたりするからよく分からない。
開発環境について
dubを使いました。Derelict3とか勝手に持ってきてくれるしすごい楽。dubすごい便利。SDL2.0はここにあるんで適当にインストールしたりすれば多分動くと思います。
ただ、 Thread.sleep( dur!("msecs")(1) ); とかやってるのであまり互換性ないかもしれない。そのあたりは全然分かってない。
反省点
・メイン関数がアレ。単純に行数が100行ってだけなら問題無いのかもしれないけど、循環的複雑度的には結構ひどいと思う。・コメント書いてない。最初にREADMEに日本語書かなかったことから、なんとなく英語使うことにこだわってたけど、そもそも英語力なんて無いし(関数の命名とか見れば分かるけど)、
最初から日本語でコメント書いとけばいいのでは。
・テトリスとしてのゲーム性。スーパーローテーションとか言うモダンなテトリスの機能は全然入れてない。
・メンテナンス性。皆無。
実際にはスコア表示というか消したライン数の表示と、NEXTの表示くらいはやりたかったけど、完成したコード見たら直す気が全く起こらない。
作ってて気づいたこと
・D言語楽しい。と言ってもD言語の機能ほとんど使ってない気がするけど。・実装力というか、設計力というか、プログラミング力が足りない。全体の見通しが立たない。
・どんなクソなプログラムでも完成させることは大事。"Just Fxxking Do It."
もっとまともなコードが書けるようになりたい
2013年8月25日日曜日
2013年8月13日火曜日
2013年8月9日金曜日
2013年8月8日木曜日
リーダブルコードを読んでみた
実際にこの本買ったのは先月の10日くらいなんだけど、読んだままにしておくのもアレなのでブログに書く。
内容としては、全くタイトル通り、読みやすいコードを書くための技術とかの本なんだけど、単にインデントがどうとか命名がどうとかいう話だけではなくて、読みやすいコードにリファクタリングしたり、ロジック自体をリファクタリングしたり等々、読みやすいコードにするための色々なテクニックとかをサンプルコードも入れつつ解説してる。
プログラマーの間でよく言われる「3日前の自分は他人」っていう言葉は大げさでは無いので、他人がコードを理解しやすい様に、そして何より自分が理解しやすいように、読みやすいコードを書くということを意識するべきなので、この本を読んでそういった技術も身につけておくといいと思います。
登録:
投稿 (Atom)