#システム開発
システム開発している人に質問です。
あなたが開発しているシステムAがあるとします。
これを顧客の為にカスタマイズする場合、どのようなファイル管理をしていますか?
Aを複製して、顧客用のBにするのが一般的ではあると思うのですが、
そこでAに変更点が生じた場合、Bも変更する必要があります。
かといってAのままカスタマイズしていると、カスタマイズが必要ない人の依頼に対応できません。
Gitなどのバージョン管理をするにしてもこれは同じだと思います。
(顧客ごとにリポジトリ作るとか)
皆さんがどうやって管理・対応しているか教えてください。
一緒に読まれている質問
11 件の回答
>あなたが開発しているシステムAがあるとします。
ありません。
Re:2
そういうのやめーやー。小学生男子かよ。高学年くらいの。
今コレ関係で面倒になっていますが
システムをコピーしてシステムBをカスタマイズして提供しています。
システムAは日々改修されるのでシステムBは離れ小島になります。
システムAかシステムBにバグが発生した時はシステムAを直して、システムBも修正します。
根本的なシステム変更でなければベースのシステムAだけを変更してシステムBは変更しません。
Re:4
私も同じやり方です。手間ですが、この方法が一番無難なんですかね・・・
Re:5
根幹部分のバグ(フレームワークとか)なら修正しやすいのですが、カスタマイズした部分にバグが生じた場合、コードそのものが変わっている時があるので、対応が難しいです。
A→B→B2
→A2
となった場合、A2(Aを改修した)のをB2(Bを改修した)に取り込むのが困難だったりします。
Re:7
AとBは別物と考えるしかない。本家は本家、分家は分家。ムリに統合しようとすると恐ろしく複雑になるのは家も同じ。
Re:8
なるほど。というこはクライアントから依頼される度に分家が出来るという考えをするしか無いですね。
Re:9
バージョン管理システムの基本的な使い方だね
Gitをちゃんと使いこなせばAに追加した機能をBにマージするのはほぼ何もしなくていい
ただ、A、B両方に追加するものとBのみに追加した機能が、コード上競合してしまう場合は設計の問題
Re:9
もしくは「ガタガタ文句言わねぇでそのままAを使えコノヤロウ」と怒鳴る。市販のアプリはそうだよね。いちいち個々の要望に応えてカスタマイズしない。
そんなもんカスタマイズの内容によるが、Aを基本にしているんだからAがいくらアップデートしても支障が出ないようにカスタマイズするのが基本だろ。
いくらAを基本にしていても全く別物のBを作ったらそれは別のシステムBだからAのアップデートは関係ない。