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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

1894閲覧

メンテ保守性の向上

退会済みユーザー

退会済みユーザー

総合スコア0

Perl

Perlは多目的に使用される実用性が高い動的プログラミング言語のひとつです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2015/08/25 02:40

中小企業の管理部付社内SEをやっております。
サーバー入替に伴い社内LAPP業務システムを多少ブラッシュアップする予定です。

なぜLAPP、、という類のご意見はご遠慮ください

引継同時は完全一致するCGIスクリプト(約40scripts)とテンプレートHTMLが利用拠点(10箇所近く)のディレクトリ毎に同セットがおいてある状態だったので
これは修正の度にキレる自分が容易に想像でき
段階的に関数をライブラリ化してコード整理(コード行1/3に!)して
テンプレートHTMLも非推奨タグを一掃して、1セットを全利用拠点で参照するように変更済(ファイル数は1/10に!)です。

ならばこの機会に、とCGIスクリプトも1セットにと思い
起動パラメータで初期値・設定ファイルを分岐すればいい、と考えました。
すでに引数が一つで済むような単純な機能はこの方法で実装しています。

ふと こういう考え方?というかやり方は
プログラムの書き方というか、保守性やメンテ効率の為になら「アリ」なんだろうか?

と疑問に思い、同業の方のご意見頂戴したく投稿いたしました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

前任者様がコピペでコードを増殖させていたのは未熟さのせいかもしれませんがもしかしたらバックオフィスという職種の性質のせいかもしれません。
成果は評価されないがミスは全社から責められるというバックオフィス業務の性質上、新規ページを追加する際に既存ページに絶対にデグレが出ないように、つまり手を触れなくていいようにコピペを繰り返していたのではないかということです。

同レベルの安全性を、いや保身をどのように実現するかというと、モダンプログラマならやはりテスト駆動でしょう。
コードの正しさをがちがちのテストコードで保証し、デグレを作りそうになってもデプロイ前に未然に潰せる環境を作ることがセットで必要になるかと存じます。

と言っても、これだけ大規模なリファクタリングをしたのならすでにテストコードはほぼ整備済みということでしょうかね。だとしたら釈迦に説法すみません。

投稿2015/08/25 04:02

yuba

総合スコア5568

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

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

退会済みユーザー

退会済みユーザー

2015/08/25 05:57

yuba様、回答ありがとうございます。 すみません、質問がわかりづらかったようで 前任者のコードが「なぜそうなったのか?」を推測していただいたようなのですが 今回皆様からご意見頂戴したいのは こんなふうに http://pekepeke.jp/shop111/sample.cgi http://pekepeke.jp/shop112/sample.cgi http://pekepeke.jp/shop113/sample.cgi : 店舗の数だけ同じスクリプトを設置するのは無駄だしメンテが面倒だから こうすればいいんじゃないか? http://pekepeke.jp/scripts/sample.cgi?パラメータ1=aaa&パラメータ2='xyx' という私の考えは「あり」なのかな??です。 宜しければ引き続きお付き合いください
yuba

2015/08/25 06:24

こちらこそ、回答の一番大事な部分を省略していました。 ありだと思いますし、ありを通り越して当然だと思います。 前任者様のソース構成はあまりにもひどいかと思いますが、そのひどさにも理由があるのかなと考察を述べました。
退会済みユーザー

退会済みユーザー

2015/08/28 00:53

yuba様 続投に気づかず失礼しました。 < ありだと思いますし、ありを通り越して当然だと思います。 後押ししていただいた気分。俄然心強いです。 ちょうど新サーバができあがってきたので迷わずにやってみようと思います。 < 前任者様のソース構成はあまりにもひどいかと思いますが、そのひどさにも理由があるのかな はい、「すでに退職を決めてたからやっつけ仕事」とも聞いてますし ローカル環境でコード書いてftpアップロードするタイプだったので 同じものをディレクトリ毎に放り込む方が楽だったんだと、予想しております。 サーバ移行は初めてなのでまた質問させていただきます。 助言いただき、本当に有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問