web-dev-qa-db-ja.com

Classic ASPあなたがそれにこだわっている場合に興味深いものにする方法?

私はかつては非常に小さなアウトソーシング会社(4人のプログラマーと上司)で働いていましたが、ストレスと頻繁な長いシフトが状況に耐えられなくなったとき、私はもっとリラックスできるスケジュールでより良い有給の仕事に切り替えました。自由時間。

ただし、問題は、ほとんどの場合、すべてがClassic ASPでコーディングされており、AS400システムにすべてを格納するカスタムメイドのC++キューイングシステムとインターフェイスすることです。私の上司は、これに向けて最初に努力した開発者の1人でした。当然、昨日のツールで今日のビジネスニーズを開発することの難しさが増しているにもかかわらず、別の言語/テクノロジーへの切り替えを承認することはありません。

近い将来、Classic ASPでのコーディングはかなり行き詰まっており、以前は.NETとJavaを使用していたため、それを少なくとも面白くする方法を見つけるのに苦労しています。後戻りしているような気がします…何かアドバイスはありますか?

14
Saul Delgado

他の人が指摘したように、あなたはおそらく上司の考えを変えようとするか、そのような後ろ向きの考え方に我慢する必要のない雇用を見つけるべきです。

ただし当面は、クライアント側で実行できる機能を移動し、非同期呼び出しを使用してトリガーすることで、仕事をもう少し面白くすることができますサーバーで発生するもの。これは、バックエンドにWebサービス(クラシックASPで実装)を備えたHTML/JavaScriptフロントエンドと考えてください。 RESTful APIの開発は興味深い課題になる可能性があります。クラシックの場合は JSONパーサー のようないくつかのツールがありますASPより標準的な方法でデータを前後に移動するには- クライアント側テンプレートWebサービスから取得したデータをより良いプレゼンテーション用にフォーマットできます。LinkedIn 似たようなもの 別のバックを統合するエンドテクノロジー。

RESTful APIを入手したら、既存のClassic ASPものの機能をエミュレートするために、いくつかのマネージドWebサービスを作成してみることができます。

27
R0MANARMY

始める前に、上司が従来のASPを主張する権利があるかどうかについては触れません。あなたは私たちに十分な情報を与えていません。 Classicの既存のコードの非常に大きな本体がある場合ASP 95%で十分であり、小さなメンテナンスタスクを実行している場合は、Classic ASPをそのまま使用することをお勧めします。 ..すべてを新しい言語に移植するコストは高すぎる可能性があります。しかし、上司がクラシックASPで新しいプロジェクトを立ち上げている場合、まあ、そのための言い訳はありません。それについて検討するのに十分な情報を持っているので、気になりません。

しかし、私はあなたの正確な質問に対処したいと思います...コーディングの作り方興味深い

興味深いはコーディングで良いことですか? 「おもしろい時代に生きていいですか?」という中国の呪いを覚えておいてください。まあ、それはおそらく中国語ではありません...しかし、問題は、あらゆる形態のプログラミングが興味深いものであるかどうかです。簡単でわかりやすいものにしたい場合もあります。私がこれまでにクリーンアップしなければならなかった最大のコード混乱は、何かを行う単純な簡単な方法にうんざりしていて、誰も聞いたことのない賢い言語機能を見つける必要がある開発者によって引き起こされています。 20行のC++コードを見つけたのを覚えていますが、その目的は解読できませんでした。初期化を忘れた場合に特定の変数が1に初期化されることを保証するための、開発者によるある種の巧妙なトリックであったことが判明しました。ばかげていて、男の子は面白かったです。しかし、それはみんなの時間を無駄にしました-彼が含まれています。

毎日のコードのほとんどを「退屈な」言語で書くことには多くの美徳があります。つまり、思いついたばかりの最新の言語機能が期待どおりに機能しない理由を解明する代わりに、脳を使ってアプリケーションドメインについて考えることができます。言語とそのライブラリを完全に理解していれば、通常ははるかに速く作業できます。つまり、アプリケーションをより面白く、より便利に、より収益性の高い、またはより使いやすいものにすることを考えるような何かのために、脳サイクルを使用することができます。

心を鋭く保つために、余暇を使って興味深い新しい言語を学びましょう。オープンソースプロジェクトで作業するか、独自のプロジェクトで作業します。

覚えておいてください、私はクラシックASPの使用を擁護しているわけではありません。また、「退屈」であるため、使用することをお勧めしません。 「興味深い」開発環境を使用することが美徳だと思う場合は、より多くの力をあなたに...しかし、あなたは間違ったことに焦点を合わせています。優れた彫刻家は、興味深い彫刻刀を望んでいません...それはニースの彫像を作るのに邪魔になるでしょう。優れた画家は、「興味深い」絵筆を探していません。彼らは興味深いツールをいじり回すかもしれませんが、可能な限り最も退屈なツールを使って最善の作業を行うつもりです。

11
Joel Spolsky

あなたはだからあなたは後退しているように感じます。 暗い時代に行き詰っていない会社を見つける以外にアドバイスはありません。クラシックにこだわる理由はまったくありませんASPこの日と年齢です。実際、クラシックにこだわることを選択するASPはtohurtあなたは将来的にA).NETとJavaスキルは萎縮し、B)将来へ将来の雇用主は、クラシックASPに取り組んでいます。このテクノロジーは、10年以上古く、それでも歯を抜くようなものでした。つまり、関連する経験がありません。選択が不十分だったようです。

クラシックASPでしかできないことは、すべて非常に苦痛です。

7
Wayne Molina

選択した最新の言語を学び、それを使用して、ASPページとクラスを生成するツールを作成します。たとえば、ターゲットデータベースからリバースエンジニアリングを実行します。これにより、きっと興味深いものになるでしょう。 。

6
Marcelo

なぜあなたは古いテクノロジーを使ってstuckになるのですか?企業は常にテクノロジーを移行します。トリックは、新しいテクノロジーへの切り替えが会社にとって有益である理由のリストを、技術的な観点からもビジネスの観点からも入れることです。多くの場合、技術スタックの移行にかかる初期費用farは将来の開発コストを上回ります。

何らかの理由で、技術スタックを切り替えることが現実的でないことがわかったとしても、常に現在のツールと技術を使用して、古い技術を使用して人生を耐えられるようにすることができます。

あなたの上司がプロジェクトの初期開発者の1人であり、refuses技術を変更する場合solely彼があなたの上司であり、あなたよりもよく知っているという事実に基づいて、私はほとんどの場合、新しい仕事を探します-あなたのリーダーシップが近視眼的である環境で行き詰まりたくないでしょう。私は彼らが赤ちゃんに投資したの仕事を持っていると確信しているので、彼/彼女を説得するのが簡単だと言っているわけではありません。 。移行が必要な理由について、clearconciseおよびmeasurableの理由があることを確認する必要があります。 not移行する状況での上司は明らかに悪い決定です。

幸運を。

5
Demian Brecht

私はClassic ASP=を職場でも使用していますが、それを面白くするために(ある程度)管理しています。手順は次のとおりです。

  • クラシックASPは、アーキテクチャを変更せずに、VBScriptまたはJScript(Javascript)のいずれかでコーディングできます。Javascriptに切り替えます。
  • Json2.js、アンダースコア、口ひげなどのさまざまなライブラリにアクセスできます。さまざまな変更を加えたNode.JSライブラリまたはクライアント側ライブラリを確認できます。
  • MVCフレームワークをビルドするか、ダウンロードします。サーバーからファイルをロードしてその内容を読み取り、そこにある多数のJSテンプレートライブラリの1つを使用して、テンプレートとビューを管理できます。コントローラーの場合、クエリで変数を使用して、通常のURLを使用する方法で要求をリダイレクトできます(あまりクリーンではありませんが、機能します)。
  • (簡略化した)REST API!
  • ORMを作成する(データベースにアクセスできる場合)、またはダウンロードします。アンダースコアに基づいてLINQ-to-SQLを作成することもできます。
  • あなたの意見に取り組みます。 AngularまたはBackboneなどの高度なJSライブラリを使用します。CSSからLESS、スタイラス、またはSASSに切り替えます。
  • 醜いコードへのプロキシクラスを作成します。これらは、古い醜いコードとやり取りすることのみを目的として作成されたクラスなので、触れる必要はありません。
3
DistantEcho

独自のクラスを作成し、できるだけ多くのプロセスを合理化できます。これがいくつかの例のあるサイトです: http://www.u229.no/stuff/

クラシックASPをまだ使用している他の人にクラスを売り込むこともできます。デミアン氏が言ったように、古いテクノロジーを使用している企業はたくさんあります。誰もが新しいことに夢中になっているわけではありません。

何よりもまず、彼があなたの技術を更新するコストではなく、CEOが非常に短いため、彼が最もよく知っているアイデアに基づいてTechをアップグレードすることを拒否し、クラシックASPが好きであるという事実がある場合、私はいくつかの本当の深刻な疑問を抱くでしょう会社の長期的な健康状態と、古典的なASPを実行するスキルの腐敗により、次の仕事に就くのが難しくなるのを待つ時間が長くなります。

そうは言っても、「option strict」を使用するようにすべての移行を開始すると、コードベースの維持がそれほど難しくなくなります。

1
Bob The Janitor

データはすでにAS400/IBMiにあるので、そのOSでJava、PHP、MySQLインターフェースなどを実行できることを知っていますか?私の推測では、彼は400人であり、ASP=人ではありません。これを受け入れてみてください。そのような400のエコシステムを成長させる機会が欲しいです。

1
Jé Queue

ここでの回答はすべて非常に良いです。私は別の選択肢を提案したかっただけです。

インフラストラクチャの問題(データベース、ファイルシステム、COMコードなど)を個別のファイルに移動し始めます。たとえば、レコードセットを配列として返すプロシージャがあるとします(これは8年前に行いましたが、コードサンプルはありませんでした-申し訳ありません)。

HTMLに表示されている「コード」をページの上部に移動するか、common/utilityクラスに移動して、根絶しようとします。比較的コードが少ないコンテンツページ(変数などへの参照が少ない)を持つ単一のASPページにheader/nav/footer関数を含めることも可能です。

コンテンツ、プレゼンテーション/フォーマット、ビジネスロジック、インフラストラクチャの問題がすべて分離されているため、そのテクノロジで学習曲線を乗り越えたら、ASP.NET MVCに切り替えることができます。それはスイッチを切り替えるほど簡単ではありませんが、モジュール化されたクラシックASPソリューション(上司が実際にそれを好むかもしれないことを意味するかもしれません))で作業してきた人と非常によく似ています。

0
Mayo