目次
返信内容:
ホームページ バックエンド開発 PHPチュートリアル 壊れたシステムを維持するのはどのような感じですか?

壊れたシステムを維持するのはどのような感じですか?

Jun 17, 2016 am 08:31 AM
bug it

銀行の IT 部門で働く多くの友人が私に不満を言いました。私が保守しているシステムは非常に SB 的で、フレームワークは古くて弱く、プログラミング言語の構文は複雑で、バグがたくさんあります。 。 。 。しかし、同社は安全性とコストを考慮して更新を行っていません

返信内容:

仕事中は怒りのレベルが高く、あらゆる種類の皮肉を言っていました
退職したときは密かに嬉しかったです
2 年後、この愚かな行為から突然インスピレーション (または教訓) を得ました。
3 年後、メンテナンス中に不満を言いすぎて、行動が少なすぎたことを後悔しました。
5 年後、怒りのレベルが高かったのは、システムは愚かだったが、それを制御できなかったため
8 年後、私は再び「愚か者」システムを維持する必要がありました。
「この世界の本質は混沌である」と理解するのに 10 年かかりました。認識不可能であり、秩序立って測定可能ではありません。
古いテクノロジーと新しいテクノロジーの間の境界さえも曖昧になり始めています。

実際のところ、私は謙虚さが足りません。

レガシー コードを効果的に扱う
ソフトウェア職人: プロ意識、現実主義、プライド
見習いのパターン: 意欲的なソフトウェア職人のためのガイダンス このようなことを経験できたのは幸運です。

このシステムは、特定セグメントで市場シェア80%を誇る全国の大手証券会社を顧客としています。若い頃、金融業界が良いと聞いてすぐにこの会社に入社しました。しばらくして、想像していたものとは全く違うことに気づきました。

システムは当時、約 8 年間オンラインになっていました。悪いシステムはどれも似通ったものです。後進的なフレームワーク、ドキュメントの欠落、冗長な機能、無秩序なバージョン管理などです。開発者の最初のグループは再び去り、この期間中には 4 つまたは 5 つの異なる開発者グループが存在し、全員が異なるアイデアを持っていました。コードのコメントもほとんどないか、関係者だけが理解できるように書かれています。 私の後に来た人たちは、あえてコードを追加するだけで、簡単にコードを変更する勇気はありませんでした。すべては安定性第一に基づいており、パフォーマンスが考慮されるべきであり、エレガントで読みやすいコードは脇に置かれるべきです。

書き換えプロジェクトは簡単だという人は、学生の成績管理システム (多くの人の卒業プロジェクト) と同じくらい、複雑なプロジェクトがたくさんあります。このシステムに関する限り、その複雑さと規模は一人で背負えるものではありません。退職した従業員のコードを変更することはさらに困難です。最後に、テクノロジーだけでは十分ではありません。大量のビジネス ロジック を始めるには、証券や先物 に関する一定の知識が必要です (このため、証券業界の資格も取得しました)。

システムが悪かっただけでなく、当時の会社の管理方法にも非常に問題がありました。同社の営業担当者は専門的なスキルを持たず、お金を集める方法しか知りません。販売前の仕事をする余裕がないだけでなく、さらに驚くべきことに、プログラマーの電話番号を顧客に直接残しているのです。必要な場合は、メンバーに直接電話して変更を手伝ってください。なんという大冗談でしょう!ソフトウェア業界に携わっていない人々にその結果を説明しましょう:
1. 少なくともグループ分析を通じて、不当な要求はブロックされなければなりません。多くのプログラマーは、必要なことすべてを行うことに没頭するだけですが、これは非常に有害です。
2. 車輪を再発明するか、顧客が欲しければ三輪車を作りますが、既製品の車があるにもかかわらず使用しません。
3. 開発計画を混乱させ、顧客は際限のないニーズを抱え、真に緊急なニーズではなく、常に目の前で最も大きな要求を実行します。
4. カスタマイズが多すぎると、プロジェクトをユニバーサル バージョンに統合できなくなり、将来のメンテナンスが困難になります。

一部の同僚は、その危険性をまったく認識せず、愚かにも、自分たちは顧客のことをよく知っていて、自分の価値が倍増していると感じていました。イライラします。

「Software Thoughts」と「Project Status」は、会社の管理スタイルとシステムの欠陥を反映した 2 冊の良書です。私はこの 2 冊の本を読みながら、腹を立てながらも密かに感謝しながら、よく笑いながらこの会社を辞めました。 最初の反論に対する答えの一部: システムには、単に愚かなシステムもあるので、自分で難しく考えないでください。あるものは技術者によるものであり、あるものは古すぎてテクノロジーが後進的であり、またあるものは管理者によるものです。

一部のプロジェクトの複雑さは要件から生じますが、他の複雑さは人々の脳の損傷から生じます。後者の種類の複雑さは、ソフトウェア理論が排除したいものです。

ソフトウェア エンジニアリング理論の存在目的は、ソフトウェア プロジェクトの人的要因と複雑さを軽減し、参加者が要件を満たし、バグを減らし、遅延を軽減しやすくすることです。

言い換えれば、ソフトウェア理論の存在は、世界中でどれだけ多くのプロジェクトが大きな穴になっているかを証明しています。

ダイクストラは、オブジェクト指向はでたらめだと言いました。なぜなら、彼は偉大な達人だからです。私や他の人のような 3 人や 5 人の不正行為をしているチームメイトと大きな穴に入る必要はなく、そのためにはさまざまな変更が必要ですが、彼は他人の罠にはまりながらも、無造作に他人や自分自身を爆破するために地雷を敷設しています。

大きな落とし穴に直面しても、挑戦することもできますし、諦めることもできます - かなり優秀であれば、仕事を見つけるのは難しくありません - しかし、それを認めないと問題が発生しますプログラマがそう考えると、自分のキャリアが非常に不幸になる可能性があります。プロジェクト マネージャがそう考えると、部下のプログラマが非常に不幸になるでしょう。

それが大きな穴であれば、そこから離れてください。それは株式市場が弱気であることを知りながら、損失を止めるために肉を切らないのと同じです。不平を言って立ち往生しないでください。

おそらく、何年も経って自分の若い頃のことを思い出したとき、最初の質問はとても単純だったと思うでしょう。しかし、信じてください、第一に、くだらないプロジェクトについて明確な印象を持っていることはめったになく、第二に、その可能性は後悔はまだある 後悔の薬は飲み込みにくい ほとんどの人は、自分のレベルでは優れたアーキテクチャを必要としません。平凡なシステム設計、または不適切なシステム設計でも、共有するモジュールを安定して使いやすく、保守しやすいものにするために最善を尽くすことができます。

逆に考えると、良いフレームワークを書いて、そこそこのフレームワークを構築したのに、保守担当者がめちゃくちゃにして、システムを保守している人たちが「ああ、このシステムは本当にひどい。設計されています。」 それは本当にひどいでしょう。 おめでとうございます。あなたは国家指導者としての役割を果たしました。 Xiao Nianlang、それらの悪いコードにはすべてストーリーがあります。ひょっとしたらあなたも、これから続く物語の主人公になってしまうかも知れません。 愚かなシステムが保守されています。
この愚かなシステムを保守しているのは今まで誰もいません。
この仕事に応募したとき、私はこのシステムを保守すると言われました。すぐに切り替えられれば、この愚かなシステムは素晴らしいシステムに切り替わるでしょう。
最初は私も愚かで、これを信じていました。
誰もがこのシステムを愚かであると考えていました。そして誰もがそれを読みました 同意しました;
前の記事の結果は、ある程度の費用がかかるということであり、誰もが後まで待つと言いました
前の記事の結果は、システムがまだ愚かであるということです。
愚かなシステムは愚かですが、この愚かなシステムは必要ありません。もっと愚かに見えるので、会社はそれを使用する必要があります。
この愚かなシステムは、全員を責める良い言い訳にもなります。多くの場合、それは無実です。だから、私もみんなの目には愚かな人間であると感じます。
A 私は愚か者です、どうすればあなたを救うことができますか...

上記は2015 年 5 月 8 日に書かれました
------------------------------------- --------------- ------------------------------------ --------------- -----------
以下は 2016 年 5 月 19 日に更新されました

まさか 1 年も経ってまた更新するとは思いませんでした。

更新理由は退職のためです。
この愚かなシステムで何が起こっているのか心配しているかもしれません?答えは、それがまだ強くて頑固に存在しているということです!

実はこのシステムについては話したいことがたくさんあるのですが、前回回答した際に削除したり削除したりした結果、ようやく冗談めかして伝えることにしました。私の仕事は運用保守ではありませんが、この仕事で運用保守の大変さは十分に経験しました!私は事業部門のリーダーと協力して予算計画を何度も提出しましたが、そのたびにさまざまな理由でキャンセルされました。私はかつて、退職を代償として 2 つのレベルを飛び越えてプロジェクトを推進しました (職場では飛び降りることはタブーなので、片手にプロジェクト計画書を持ち、もう一方の手に退職報告書を持ちました)。最終的に、プロジェクトは無事に承認されました。 、しかし、プロジェクトが始まったばかりのときに会社は問題に陥り、プロジェクトとは関係のない紆余曲折が最終的にプロジェクトに影響を及ぼし、プロジェクトが停止してしまいました。
ついに今年、私は落胆し、会社からの残留の申し出を断り、退職することにしました。
私が仕事を辞めると、システムが切り替わる可能性が非常に高いので、ばかばかしいと思うことがあります。過去数年間で、システムはますます複雑になり、履歴の冗長データが増え、Windows 7 (システム設計は XP に基づいています) との不可解なバージョンの競合が徐々に現れ、サプライヤーは徐々にサポートを放棄したためです。この製品シリーズの場合。私たちは工夫を凝らし、前進してきました。ビジネス、財務、データベース、システムを理解できるのは基本的に私だけです。私が撤退したら、会社は代わりの人を見つけることができません。
現時点での会社の最善の選択は何ですか?運営と維持を担当するチームを採用するために多額の費用を費やしますか?そうではないと思います!会社の最善の選択はシステムを切り替えることです。これにより、運用と保守の問題が解決されるだけでなく、システムの歴史的な問題も解決されます。つまり、私の辞任のインパクトは、私の在任中の最大の願いが叶ったということです! モデル層では html が javascript と組み合わされていることが分かりました。若くなかった自分がバカだとは言えませんか? 本当に素晴らしいプログラマーは稀です。しかし、プロジェクトが本当に優秀なプログラマーのチームによって構築されている場合、被験者の能力がそのようなチームに足場を築くのは難しいかもしれません。

ですから、まずは自分自身を改善することが大切です。大規模なフレームワークを変更するのは難しいため、ローカルの小さなモジュールから始めて、ゆっくりと変更してください。子孫は無限に存在します。
私が匿名である理由は、私が現在悪いシステムを維持しているためであり、軍の士気に影響を与えないように、現在のシステムに関する私の意見を同僚や上司に見られたくないからです。
それでは、まず私の現在の立場、つまり建築家について話させてください。
では、なぜ最悪だと言えるのですか?だって、このクソインターネット○○システムは私が作ったものではありませんが、3か月で立ち上げられたもので、悪くないと思いますか?

え?私の気持ちを聞いているのですか?
とても良い気分です
、責任は私の元にあり、私は後継者です。 わかりました、冗談じゃなくて、本当に大丈夫です。 以下は、なぜダメなのかの分析です。分析プロセスを見たくない場合は、最後まで飛ばして斜体部分を読んでください。
  1. まず、なぜ最悪なのかについて話しましょう:
  • なぜなら、時間枠に急ぐ必要があるからです、今頃はセクションがオンラインになっているはずです、そうでないとこの村を過ぎた後にそのような店はありません(まあ、誰、ミスター、詳しく考える時間がありません(考えていないかもしれません))能力を持っています)、そしてそのほとんどは、システム内のすべてのビジネスの側面が絡み合って、全身に影響を及ぼします。
  • 研究開発スタッフ は頭を使う時間がありません (おそらく能力がありません) セキュリティ、パフォーマンス、拡張をできるだけ早く実行します。 、堅牢性はすべてデタラメであり、それは製品であり、オンラインにならないものは常にプロトタイプです。
  • テスター は慎重にテストする時間がないため (おそらく能力がないため)、要件と研究開発は 1 日に 3 回変更されます。私はフロントエンドのバグを報告しましたが、あなたはバックエンドの要件を変更しました。セキュリティ、パフォーマンス、拡張性、堅牢性はすべてデタラメです。テストできるものは製品であり、オンラインにできないものは常にプロトタイプです。
  • 建築家がいない、または優れた建築家がいない (これが主な理由、 、これが私の存在理由でもあります)、それはどのような建築家ですか?何があるか、何が無いかについて私にビープ音を鳴らさないでください。製品開発が完了していなければ、いくらビープ音を鳴らしても無駄です。
  • 上層部がやみくもに指示を出している (やる気があるのはいいけど、自分の能力の範囲内で行動しなければならない、欲張ってはいけない) あなたの得意分野は欺瞞です。いいえ、それは方向性を導くためです。ソフトウェア開発や製品設計ではありません。技術分野には専門分野があります。私は騙すことに関してはあなたほど上手ではありません、ええと、方向を導くことに関してはあなたほど上手ではありませんが、ソフトウェア開発と製品設計の専門家を信頼してください。
  • 2.
  • 何をすべきか話しましょう:
単語を 1 つ変更します単語を 1 つ削除します
    別の単語
  • 耐える最後の言葉
  • 最後の言葉 (本当に最後の言葉) お金が欲しいです!
  • ナレーション: 詳細を詳しく説明してみませんか?
  • 私: 詳しく説明しましたが、やはりバカです、まずは授業料を支払いましょう
  • 3.

最後に私の話をしましょう。 experience

: (最前列で話している生徒は静かにしてください。後ろで寝ている生徒の邪魔をしないでください。ここが最も重要なポイントです。) 私は物事を自然災害人為的災害
に分けています。
自然災害については、問題の解決に努めるだけでなく、口を閉ざすこともできます。どんどん問題を解決していきますが、ある日振り返ってみると、自分の能力が成長していることがわかります。いや、上司に相談できます。 、私の場合は、給与交渉を意味します。ですから、それを理解できたなら、感謝すべきです。

人災に関して、私が遵守する原則は、「何度も繰り返すのではなく、何度も繰り返してください。さもなければ、この人は去るべきです!」です。彼が離れてくれないなら、あなたは我慢するか離れるしかありません!
癇癪を起こして愚痴を言うことに関しては。 。 。 。 。

もちろん、それは許可されなければなりません! ! ! ! ! !

感情を吐き出さないと仕事に影響が出ます! 感情のない者は死んだ! 誰に発散するかについては、とにかく妻には決して吐き出しません。彼女には勝てないからです。 いずれにしても、誰かが責任を負わなければなりません。もちろん、それが上司であってはなりませんし、副社長を怒らせるわけにはいきません。したがって、テストや製品に発散するときにそれらに勝てないことを避けるために、より頻繁にジムに行くことをお勧めします:)


上記!

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ゲームのバグってどういう意味ですか? ゲームのバグってどういう意味ですか? Feb 18, 2024 am 11:30 AM

ゲームのバグとは何ですか? ゲームのプレイ中に、キャラクターが動かなくなったり、タスクが続行できなくなったり、画面がちらついたりするなど、予期せぬエラーや問題が発生することがよくあります。このような異常現象をゲームバグ、つまりゲーム上の不具合やエラーと呼びます。この記事では、ゲームのバグが何を意味し、それがプレイヤーや開発者に与える影響について探っていきます。ゲームのバグとは、ゲームの開発または運用中に発生し、ゲームが正常に実行できなくなったり、予期しない動作を引き起こしたりするエラーを指します。これらのエラーの原因として考えられるのは、

AI インフラストラクチャ: IT およびデータ サイエンス チームのコラボレーションの重要性 AI インフラストラクチャ: IT およびデータ サイエンス チームのコラボレーションの重要性 May 18, 2023 pm 11:08 PM

人工知能 (AI) は多くの業界の状況を変え、企業の効率、意思決定、顧客エクスペリエンスの向上を可能にしました。 AI は進化し続け、より複雑になるため、企業はその開発と展開をサポートする適切なインフラストラクチャに投資することが重要です。このインフラストラクチャの重要な側面は、IT チームとデータ サイエンス チームのコラボレーションであり、どちらも AI イニシアチブの成功を確実にする上で重要な役割を果たします。人工知能の急速な発展により、コンピューティング能力、ストレージ、ネットワーク機能に対する需要が増大しています。この需要により、AI に必要な複雑でリソースを大量に消費するワークロードを処理するように設計されていない従来の IT インフラストラクチャに圧力がかかります。その結果、企業は現在、AI ワークロードをサポートできるシステムの構築を検討しています。

10年以上運用保守の仕事をしてきましたが、まだまだ初心者だなと感じた瞬間は数知れず…。 10年以上運用保守の仕事をしてきましたが、まだまだ初心者だなと感じた瞬間は数知れず…。 Jun 09, 2023 pm 09:53 PM

昔、コンピュータサイエンスを専攻していた新卒の頃、求人サイトでたくさんの求人情報を見ていたのですが、研究開発エンジニア、運用保守エンジニア、テストエンジニア…というまぶしい技術職に戸惑いました。 、私の専門コースはまあまあで、技術的なビジョンを持っていなかったことは言うまでもなく、どの技術的な方向性を追求するかについて明確なアイデアがありませんでした。先輩に「運用保守をやれ。運用保守は毎日コードを書く必要はない。Liunx が遊べるようになればいい!開発よりずっと楽だよ!」と言われるまでは、私はその道を選びました。信じられない...私はこの業界に10年以上従事しており、多くの苦しみ、多くの責任を負い、サーバーを停止させ、部門の解雇を経験しました。今、誰かが開発より運用と保守の方が簡単だと言うなら、 、それならそうします

Apple iOS18 のバグの概要 Apple iOS18 のバグの概要 Jun 14, 2024 pm 01:48 PM

Apple の WWDC カンファレンス 2024 が成功裡に終了する中、macos15 が発表されただけでなく、Apple の新しい iOS18 システムのアップデートが最も注目を集めました。Apple の iOS18 の最初のバージョンとして、多くの新機能がありますが、人々は必然的にそれがどうか疑問に思います。 Apple iOS18 にアップグレードする必要がありますが、Apple iOS18 の最新リリースにはどのようなバグがありますか?実際の使用評価の後、以下に Apple iOS 18 のバグの概要を示しますので、見てみましょう。現在、多くのiPhoneユーザーがiOS18へのアップグレードを急いでいますが、さまざまなシステムバグが人々を不快にさせています。一部のブロガーは、「バグが非常に多い」ため、iOS18にアップグレードする場合は注意する必要があると述べています。ブロガーは、あなたのiPhoneが

システム手荷物とはどういう意味ですか? システム手荷物とはどういう意味ですか? Nov 09, 2022 pm 02:40 PM

システムバゲージとはシステムのバグのことを指しますが、バグの本来の意味は「バグ」ですが、現在ではシステムのセキュリティポリシーに不備があり、コンピュータに存在する脆弱性を指す言葉として使われるようになりました。攻撃者が許可なくアクセスできる広義の危険 このトピックに関しては、バグはさまざまな分野に現れる抜け穴や欠陥を説明するために使用できます。

Win11 のエラーと問題を整理する Win11 のエラーと問題を整理する Jan 13, 2024 pm 08:21 PM

win11 にアップデートしたいけど、win11 にバグが多いのか、アップデートで問題が発生するのか分からないという人もいますが、実際、win11 には現在バグがありますが、使用にはほとんど影響がありません。 win11 には多くのバグがありますか? 回答: win11 にはまだ多くのバグがあります。ただし、これらのバグは日常の使用にはほとんど影響しません。ユーザーの日常使用に対する要求が高い場合は、後で使用することをお勧めします。 win11 のバグの概要 1. リソース マネージャー 1. メモリ オーバーフローが発生し、リソース マネージャーのメモリ使用量が高くなる場合があります。 2. この状況ではメモリが 70% 以上を占有し、コンピュータがフリーズしたりクラッシュしたりすることがあります。 2. 競合とクラッシュ 1. 一部のアプリケーションには互換性が不十分であり、相互に競合が発生します。 2.紛争手続きは比較的少ないですが、

バグのライフサイクルは何ですか? バグのライフサイクルは何ですか? Nov 08, 2022 pm 02:17 PM

BUG のライフサイクルとは、BUG が発見されてから BUG がクローズされるまでのプロセスであり、具体的なプロセスは次のとおりです: 1. BUG の発見、つまりソフトウェア プログラムの抜け穴や欠陥を発見します。バグを提出し、欠陥の属性と再現性を説明してください。環境、種類、レベル、優先順位と詳細な再現手順、結果と予想など。 3. バグを割り当てる、つまり、問題を対応する担当者に直接割り当てます。開発者; 4. 分析して欠陥として確認する; 5. BUG を処理して修正する; 6. 回帰検証 BUG; 7. BUG を閉じる。

それは何ですか それは何ですか Aug 02, 2023 pm 03:53 PM

IT は、主に情報の管理や処理に使用されるさまざまな技術の総称です。IT は今日の社会に不可欠な部分です。IT は、私たちの生活や働き方を変えることで、多くの利便性と機会をもたらし、また、大きなメリットがあります。利用される可能性。 IT の継続的な発展に伴い、より多くの新しいアプリケーションやテクノロジーが登場し、生活に大きな変化をもたらすことを期待しています。

See all articles