この質問はこれに触発されました。他の質問はローカライズされていると見なされていましたが、根本的な問題は業界では非常に一般的なものだと思います。私はこれを読んで私がこのものを作り上げていると思う開発者が何人かいることを知っています、そして彼らは誰もが自分の仕事を気にかけ、学びたい方法を返信するかもしれませんが、他のプログラマーSEの投稿を見るだけです(適切な場合)私はそれが普遍的に真実ではないことを知っています。
たとえば、チームに(または大多数)の標準操作手順がコピー/貼り付けであり、十分な関数呼び出しと変数を追加するだけですべてが解決できると考えている人がいるとします。この人はTDD、DRY、SOLIDのことを聞いたことがなく、仕事で忙しい40時間を超えて、一度も1つの方法論/実践/デザインの本を読んだことがありません。
過去に、私(および他の人)は、どのようにOODを教えるのかと尋ねてきました。しかし今、私はそれが正しい質問ではないと考えています。本当の問題は、そのような人/チームにどのようにアプローチし、物事のより良い方法に興味を持たせるかです。どのように彼らに学ぶよう促しますか?それがなければ、彼らの机に戻っていつもやってきたことを完全に満足していれば、すべての教育、会議、講義、議論は役に立たないようです。
私はそのような多くの人々と仕事をしています。彼らは実際には非常に優秀な人物ですが、「コーディングが終わったので、リファクタリングしてDXMを幸せにするために複数のクラスに分割するだけです」と聞いたときは嫌いです。きれいで、読みやすく、保守可能なコードをリファクタリングしませんが、そうしないとonlyられるだけです。私は彼らが学習できることを知っていますが、やる気の一般的な欠如があるように見えます。
私が仕事を提供するとき、それは一般的にずっと少ないバグを持ち、私が所有する仕事は決してクラスの5000行の怪物になりませんでした。他の人は、「あなたのコードは私たちのものよりもずっときれいで読みやすい」というようなコメントをするので、違いがわかります。しかし、同時に、彼らは何をしていても40時間の報酬を受け取ると信じているので、QAに3日間丸ごと入れてはいけないバグを探しても気にしない最初の場所。または、1つのクラスを変更するのに1週間かかるため、非常に多くの依存関係があり、最終的には触れることになります。ただし、「そのクラスは別の方法で記述されている必要があります」と表示されることはありません。
これらの状況で何かできることはありますか?成功した人はいますか?または、そのような考え方をプロジェクトの重要ではない部分に分離し、損害を最小限に抑えることが最善ですか?
注:「モチベーションの欠如」と言うとき。彼らは単に思いやりをやめたので、仕事をしたり、良い仕事をしたりする動機が不足しているとは思いません。私たちのチームのほとんどは、実際はまったく反対です。彼らは間違いなく製品を気にします。夜と週末に働く人がいます。私が乗り越えようとしているのは、習慣とスキルを改善することです。彼らは実際にはそれほど仕事をする必要はありません。「40時間」のことで、この投稿は少しネガティブに聞こえたと思います。