質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
デザイン

プログラミングでのデザインとは、プログラムの構成や、使用の信頼性・持続性・正確性・利便性の目標達成にはどうするのがベストなのか特定の選択を行うことです。

CI(継続的インテグレーション)

CI(継続的インテグレーション)は、アプリ開発においてビルドとテストを繰り返すことで品質改善と納期短縮を図る手法です。JenkinsやTravis CIなどの専用ツールを利用してプロセスを自動化・半自動化して効率的に実施します。

Q&A

0回答

789閲覧

少し大きな変更を加えるとき、効率的な方法が知りたいです

rimokonTenko_mo

総合スコア12

デザイン

プログラミングでのデザインとは、プログラムの構成や、使用の信頼性・持続性・正確性・利便性の目標達成にはどうするのがベストなのか特定の選択を行うことです。

CI(継続的インテグレーション)

CI(継続的インテグレーション)は、アプリ開発においてビルドとテストを繰り返すことで品質改善と納期短縮を図る手法です。JenkinsやTravis CIなどの専用ツールを利用してプロセスを自動化・半自動化して効率的に実施します。

0グッド

0クリップ

投稿2020/02/13 15:29

今、Javaでマリオのような2Dアクションゲームを作っています。(作っている内容は直接質問に関係ありません)

そのときに、1、2ファイルくらいの小さな変更ならすぐにできるのですが、5、6ファイル以上にまたがるような少し大きな変更(ファイルの数でくらべるのはおかしいかもしれませんが、とりあえずコンパイルするまでの一回の変更で何箇所も修正が必要な変更)を加えるときに、全部一気に解決しようとして、修正したい部分があっちにもこっちにも増えてきたりして、なかなか思うように進みません。

だから、どのように考えれば効率的に変更を加えられるか知りたいと思いました。まだまだ初心者で、プログラムの書き方が悪いからかもしれませんが、皆さんの場合はどのように変更・修正をしているのかも含めて教えていただきたいです。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takasima20

2020/02/13 16:26

逆に修正の影響が少ない構成を考えてはどうでしょうか。いまさらかもしれませんが
Zuishin

2020/02/14 00:19 編集

少し変更するためにソースコードの多くを直さなければいけないような設計を「結合度が高い」と言います。結合度は可能な限り低くなるよう設計するもので、高ければ高いほど保守が困難になります。 結合度を低くするためにはモジュール化を進め、モジュール同士の相互依存度を低くします。またクラスの抽象化を進め、依存性注入できるよう心がけます。 最も効果的なのは、単体テストを主体とした TDD を行うことではないでしょうか。これに慣れ、テストしやすい設計を心掛けることで、自然と結合度の低いプログラムになります。
stdio

2020/02/14 00:54 編集

ゲームなどはかなりの仕様変更がある事を想定して最初の設計を決めなければなりません。 流石にいきなり「マリオを3Dにしよう!!」とか言い出さない限りは問題なく変更できるようにしないといけません。一度描画と機能のクラスを分けてみるのはどうでしょうか? 多文、走るやジャンプを同じプレイヤーというクラスに書いてしまっているように感じます。
rimokonTenko_mo

2020/02/14 13:47 編集

Zuishinさん 回答ありがとうございました。 今まで、TDDは面倒くさそうで、初心者だしとりあえず動くものを作ろうと思って、飛ばしてきました。これから、少しずつTDDを調べて学んでいこうと思います。 ひとつ質問があります。愚問かもしれませんが、TDDについて、すべてのメソッドに対して、テストメソッド・クラスを作るべきですか?
rimokonTenko_mo

2020/02/14 13:39 編集

stdioさん 変更できるように作るべきなので、最初は何も考えず作ってあとから変更しようと思っていたのですが主軸となる考え方は決めなければならないとわかりました。ありがとうございました ところで、2つ質問があります。 走るとジャンプを同じクラスに書いたらだめなんですか? もしも、いきなり「マリオを3Dにしよう!!」と思ったら、変更するより1から作り直すしかないですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問