私は本 パターンへのリファクタリング を読んでいて、パターンをリファクタリングして使用するための新しい方法を意図的に練習しなければ、私のスキルは向上しないので、スキルを練習するチャンスを得る方法を考えていました。
しかし、事務処理では、各タスクをできるだけ早く完了する必要があります。ほとんどの場合、プロジェクトのデザインとアーキテクチャは私が管理しているのではなく、既存のコードと同様のスタイルに従うしかありません。悪いデザインのプロジェクトがあることもありますが、デザインスキルが私よりも優れている別の開発者もいて、彼はプロジェクト全体をリファクタリングする計画をすでに持っているので、私は彼の計画に従っているだけです。練習する機会を得るにはどうすればよいですか?
率直に言って、あなたはあなたの玄関口をノックして来る機会を待つことができません。スキルの習得に非常に傾倒している場合は、いわゆるより優れたスキルの開発者が持っているものに関係なく、デザインを取り入れることができればすばらしいでしょう。あなたのアイデアを投げて、私の既存の悪い設計に私のものがどのように役立つかについて素敵な会話をしてください。たぶん最初の数回の試みで失敗するかもしれませんが、あなたはたくさん学ぶでしょう、そして(あなたのいわゆるより熟練した開発者の同僚もあなたから学ぶことがあるでしょう)。
手短に言えば、あなたのデザインもテーブルに置いて、あなたがどれだけ良いか悪いかを知っていると、あなたのスキルをベンチマークする方法はありません。
練習、練習、練習。趣味のプロジェクトは間違いなく良い考えです。そして、もしあなたが学びたいのなら、誰かelse'sのオープンソースプロジェクトに取り組み、彼らが採用するパターンから学ぶことができる方がよい場合がよくあります。
coding dojos と code katas を調べることをお勧めします。この概念の背後にある全体的なアイデアは、明確に定義された管理可能な練習問題を練習することにより、独自のコードで問題が発生した場合によりよく対応できるようになるということです。 (ウェブサイトは私よりもこのことをよく説明しています。ぜひチェックしてください。)
サイドポイント:完全なパターンではない重要なことの1つは、テストに関しては適切な習慣です。
また、最後のコメント:事務作業では、各タスクをできるだけ早く完了する必要があります。作業が速すぎて多くのバグが発生する場合は、タスクを完了していません。後で戻る必要があるためです。これはやり直しです。物事を行うための適切な方法を学ぶために必要な時間をかけないと、短期的には自分のためにより多くの仕事を生み出し、長期的に改善するための適切なパターンを学ぶことができなくなります。適切なデザインパターンを実践することは、あなたにとってもあなたの雇用者にとっても価値があります。 (とはいえ、デザインパターンは、熱心に、または背景を理解せずにそれらを実践する人々によって乱用されたり悪用されたりすることがよくありますが、それは別のポイントです。)
次のオプションがあると思います。