プログラミングとパターン

月曜日の朝 同僚が小さな検索クエリを要求します。 30分で、リクエストの準備が整います。 5分も経たないうちに、同僚はいくつかの条件を思い付きます。 条件を追加します。 今、彼はさらに多くの情報を答えに求めています。 私はテーブルをブラインドし始めています...









そして、その日の前半は終わります。 私は従業員とデータベースの間の層として働いています-プログラマーにとって最高のことではありません。 したがって、ユーザーにSQLを学習させることなく、あらゆる種類のクエリを満たすように設計されたプログラムを作成することにしました。 従業員は次の要求で拒否され、今後のプログラムについて発表されました。 彼はそのアイデアが好きでしたが、質問は「 いつ?です 。 はい、私自身はいつ知りません... 1週間、2、3 ...そこに見られます。 アルファ版を早期に要求します。 私は彼に最初のアルファを運転させると約束しなければなりませんでした。



座っています。 キーボードの前にある紙、彼の手にあるペン...私はプログラムのアーキテクチャをあざけり始めます。 可能な開発を予測するために、プログラムのすべての可能な側面を考慮に入れようとしています。 いくつかの失敗した図面の後、もっともらしいことがすでに判明しています。 最後に...コーディングの時間です...



いくつかのクラスの概要を説明し、コードを記述します...作業は本格的です...結果として生じるアーキテクチャへの不満は、魂の中で熟しています。 クラス間の依存関係がどんどん大きくなっているように感じます...インターフェイスレベルでのプログラミングは、3〜5個の明確にマークされた場所でのみ観察されます。 ペンを取ってもう一度描きたいです。 しかし、もう半分は、「 男になりなさい!コードを書いて、文句を言わないでください!あなたは、彼は何かを使った建築が好きではありません 。 一方、従業員は朝と夕方の進歩に興味があります。 毎回の会議で、私は彼に否認の近さを予測しています。 しかし、これからコードは改善されません。 むしろ、反対。



今、良心は建築を描くために座ることを許しません。 良心:「 コードを書くのは誰ですか?はい、すべてをやり直すのは遅すぎます!ただ機能するようにしましょう。そして、あなたはそれをします... re ... ref ...リファクタリング! 」私はこれらの説得に屈します。



最後に、プログラムは部分的に機能し始めます。 従業員は部分的に満足しています。素晴らしいプログラムをおめでとうございます。 これは、ソフトウェアの内部的な欠陥に関する魂の叫びを完全に消し去ります。 一方、プログラムを完成させるプロセスでは、コード全体に変更が加えられ、テストはまったく行われません...



そして、リファクタリングの段階は決してありません。 当局からの質問:「 他にRE X A K T O R I N Gとは何ですか?あなたはすべてがうまくいっていると言いました!他にも多くのタスクがあります...



あなたの問題を認識し、それらを修正できないことよりも悪いことは何ですか?



PS

これは私ではなく、私の友人であり、私の友人ではありません。 そして一般的に、実在の人物との偶然の一致はすべてランダムです。



All Articles