ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

小遣い帳ソフト(仮称) アルファ版公開!

前に記事「小遣い帳ソフトの制作計画!」にて、


また、Model部分だけ完成したら、CUIの簡素なViewを作成してコンソールアプリケーション版として公開するかもしれません。


と書きましたが、Model部分だけ完成したので、CUIの簡素なViewを作成して、アルファ版として公開しました!

KodukaiChou_01.zip - Yahoo!ボックス
http://yahoo.jp/box/sRF-bA


使用方法は付属のReadMe.txtに書いてあります。

ここでは「ユーザー = テスター」という暗黙のルールがあるので、まぁよろしくお願いします(笑)


それにしても、制作の計画が始まったのが去年の12月半ばなんですが、Modelだけでも結構な時間が掛かるものですね。


Model部分はかなり簡単だろうと思っていたんですが、
プログラムが、コメントと空行を除いても1676行という超大作になってしまいました。

簡素なViewのプログラムも簡素といっているのに、コメントと空行を除いても727行あります。


まぁ、Viewのプログラムは入力文字列が数値かどうかのチェックをするのでかなりの行数を費やしていますし、

使い捨てのプログラムだからいいや、ということで処理をメソッドで共通化したりもしませんでしたので、行数が多くなるのは仕方ないことですね。


というわけで、バグ報告お待ちしております!

また、改善点の指摘もどうぞコメント等でやってください。

まぁ、面倒そうな内容なら次回バージョンでも反映できないと思いますが…
(笑)

tag:

コメント

ADDにて
支出・収入に 0 を指定するとそのまま通ってしまうのは少し不自然かと思います、0 は支出でも収入でもないので

  • 2014/03/04(火) 18:42:17 |
  • URL |
  • funcHM #-
  • [ 編集 ]

Re: funcHM

ご使用ありがとうございます。
あえてそうしていたのですが、確かに0は無効にするほうがいいかもしれないですね。

…って、どうやって実行したんですか?
Monoを使ったのかな。

GUI版はWPFで設計する予定ですので、Monoは使えないかもしれないです…。

僕の親がwindows vista使っているのでその環境でやりました~、僕は今は xubuntuなんですが、小学生のころはwindows使っていたんですよ。
linux使い始めたのは2年ほど前かな。

ソフト製作頑張って下さい!

余談ですがMSペイントって知らない間にUI変わってるw

  • 2014/03/04(火) 20:15:53 |
  • URL |
  • funcHM #-
  • [ 編集 ]

Re: funcHM

なるほど、その環境ならWPFでも実行できますね。

制作頑張ります!まずはWPFのWの字から覚えなくては…。

MSペイントはXPとVistaはだいたい同じですが、Windows 7からUIがかなり変わっていますよね。
リボンUIっていうみたいです。

(上部にタブ切替型のボタン等がたくさんあるUI。ExcelやWordは昔からリボンUIでした。さらに7からペイントやワードパットがリボンUIになり、8からエクスプローラーまでリボンUIになりました。最近のMSはリボンUI推しみたいです。)

WEBアプリケーションのMVC、Model-View-Controllerみたいなものですか。
(MVVM、Model-View-ViewModelというパターンらしいですがやってることは同じに見える)

ふと気になったのですが、Viewが入力チェックをするというのはパターンに反しているのでは?
基本、ViewはUIを規定したり入力を受け取ったりするだけで、そのデータを処理していくのは
Modelの役割のはずですが。

WPFもそうですし、CakePHPなどのMVCフレームワークもそうですが、
それらは簡単にパターンを実現できるシステムを提供しているだけで、結局は
プログラマが気をつけないといけないとおもいます。

  • 2014/03/04(火) 22:11:17 |
  • URL |
  • div9851 #-
  • [ 編集 ]

Re: div9851

MVCと似ている感じですが、どこか異なる部分があるんだと思います。
(なにせ理解が乏しいもので…)

入力チェックについてですが、私自身MVVMへの理解が足りないので、実はこのソフトはMVVMで作られていはいないのです。

VMのない、Model, Viewパターンとでも言いましょうか。
ViewModelとViewが合体しているわけです。

これは誤解を生んだかもしれませんね。すみません。

そのためViewで入力チェックをしているというように書きましたが、もしMVVMパターンで作るなら入力チェックはViewModelの役割なのかもしれません。

入力チェックはModelでやるか否かについては、場合によると思います。

例えば受け取った数値をアークサイン関数にかけるModelがあったとして、
受け取った数値が0以上1以下であるかどうかチェックするのはModelの仕事です。

ただし、入力文字列が数値かどうかのチェックをするのはViewModel(View?)の役割だと思っています。

入力が文字列なのかバイナリなのかといった入力の形式を決めるのはUIであり、ModelはUIに依存してはいけないからです。

唐突ですみません
まず聞きたいのですが…このソフトを作った目的は何でしょうか?

  • 2014/03/20(木) 16:24:38 |
  • URL |
  • まっちゃ #-
  • [ 編集 ]

Re: まっちゃ

記事「小遣い帳ソフトの制作計画!」
http://cyberboy6.blog.fc2.com/blog-entry-310.html
をご参考に。

特にパソコン向けのソフトは、小遣い帳ソフトというより家計簿ソフトの面が大きい物ばかりで、いろいろと多機能すぎるんですよね。

そのため、シンプルで操作が簡単な小遣い帳ソフトを作ろうと思ったのです。

自分が使いたいというのもありますね~。

Re:サイバー少年

処理に関しては良く出来ています。手作りのようなボロなどが見えにくい固いソフトで安心感有ります

ですが辛口いいでしょうか?

後にGUIにするみたいなのでこのことは無視していいと思いますが、コンソールである間は実用的に使う人は少ないのではないでしょうか?
小遣い帳を使う人はPCに慣れた人ではないのが大半だと思いますし、コンソールは自分でもめったに使わないタイプなため、どうしたら動くのか少し悩んでしまいました
シンプルなのを求めていたとしても、コンソール自体少しシンプルから離れている気がします…
それと、複数にファイルが作られるのはコンパイル等の仕様ですか?なんか多い気がします

と少しひどいこと言ってしまいました…本当すみません
ですが、自分が使ってみる側として考えてみた結果です
自分が実用的に使ってみようとしてもやはり、操作が難しいです

  • 2014/03/20(木) 19:57:07 |
  • URL |
  • まっちゃ #-
  • [ 編集 ]

上のやつはGUIではない状態の感想です
あまり深く取らなくていいです
そこの説明を付けて欲しいです。画像などを載せてみるといいと思います

  • 2014/03/20(木) 19:59:12 |
  • URL |
  • まっちゃ #-
  • [ 編集 ]

Re: Re:サイバー少年

ご感想ありがとうございます。
確かにコンソールアプリケーションで作るとPCに慣れたユーザーしか来ないと思います。

ですがお察しのとおり、今後GUIバージョンを作ります。
このCUI版は、UIではない部分(Model部分)のプログラムの評価とバグ報告をしてもらうことを目的として公開しているのです。

そのため、現段階のバージョンでは実用には向いていませんね。

複数ファイルが作られるのは仕様ですね…。
全て必要なファイルです。

正確に言うと、suggests.setというファイルだけは現バージョンでは使用していませんけどね。
次期バージョンでは使用する予定です。

Re: まっちゃ

CUIなのでスクリーンショット画像ではあまり伝わってこないと思います…。

記事を見返してみたところ、確かに説明が少ないなあ、と思いました。
div9851さんも誤解させてしまいましたし。

この度は誤解を招くような書き方ですみませんでした。

謝る必要はないですよ…自分の身勝手な発言なんですから…

>このCUI版は、UIではない部分(Model部分)のプログラムの評価とバグ報告をしてもらうことを目的として公開しているのです

すこし勘違いしていました、すみません
実用するものを公開しているのかとおもってコメントしてました…すみません

実際自分にもこうゆうソフトが必要なため、とても厳しい判断してしまいました
もし作ってくれるならば、GUI版に期待しています

  • 2014/03/21(金) 14:47:08 |
  • URL |
  • まっちゃ #-
  • [ 編集 ]

Re: まっちゃ

> 実用するものを公開しているのかとおもってコメントしてました…すみません

記事中の説明では勘違いするのもおかしくはないなと思いました。
説明不足でした…。

ただ、コメントは深いことを考えずに、遠慮なく下さったほうがありがたいですよ~。
これからも、ご意見があればどうぞコメントしてください。

ご期待ありがとうございます!

untitled

今更ですが、ADDで 10億くらいの収入・支出ができないようですね、
一般の人は全然困りませんが、ビルゲイツさんが使うとき困りますね~。
※ふざけたコメントで、すみませんw

とにかくまぁ多倍長演算を使うことも視野にいれた方がいいと思います。

  • 2014/03/26(水) 13:18:05 |
  • URL |
  • funcHM #-
  • [ 編集 ]

Re: untitled

おかしいですね…。

1つ1つの支出/収入は32ビット符号付き整数、現在の所持金総額は64ビット符号なし整数で管理しているので、10億もいけるはずです。

こちらで確認してみたら、10億の収入も支出も可能でした。

オーバーフローとは違う原因かもしれません。
思い当たることがあればコメントください。

Re: Re: untitled

あれ・・・、なぜだろう僕のトコじゃ出来ない・・・今日はもう遅いので明日確認します。

なんかすみません

  • 2014/03/26(水) 20:55:19 |
  • URL |
  • funcHM #-
  • [ 編集 ]

コメントの投稿

トラックバック

トラックバック URL
http://cyberboy6.blog.fc2.com/tb.php/329-a827b348
この記事にトラックバックする(FC2ブログユーザー)

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。