ビジネス コードを作成するときは、他の人のインターフェイスの調整に 1 日のほとんどを費やす可能性があります。インターフェイスは関数のカプセル化には適しておらず、要件は常に変化します。
結局のところ、機能の実装が最も重要であり、ユーザーエクスペリエンスが最も重要です。他人がニーズを求めたら、それを実装するだけです。
あなたは、同じような機能を実現するために繰り返しビジネスコードを書いている無慈悲な機械のようなもので、何の進歩も見られず、視野も広がっていないと感じています...
しかし、ドライバーの開発は。は全く異なります....
OKかどうかはあなた次第です
ビジネスコード、最も一般的なのは需要の変更です。
例えば、このモジュールに別の関数を追加して、このコードをカプセル化する場合、このように書けない場合は、次のように書く必要があります...
でも、ドライバーの場合は、 、使えるなら使える、使えないなら全く需要がない。
例えば、ネットワークカードドライバーは、ネットワークに正常に接続し、ファイルを正常に転送することがその機能です。コードの書き方はチップのマニュアルに基づいており、誰も何も尋ねません。
だから、ニーズについて心配する必要はありません。使用できる限り、タスクは完了します。バグは修正されるだけです。
なぜ彼らはあえて触れないのでしょうか?
ドライバー コードは、アプリケーション層で記述されたビジネス ロジックとは異なり、インターフェイスのカプセル化、パラメーターの判断、特殊な状況の処理、その他の部分的なソフトウェア設計など、プログラミング スキルとコードの最適化に重点が置かれている可能性があります。ビジネス ロジックの特定の部分が適切に記述されていないことがわかった場合、ある程度の経験がある人であれば、コードを変更するのは簡単です。
しかし、ドライバーコードを書く最大の特徴の1つは、まずチップのマニュアルを理解することです。
たとえば、ドライバーは 64 バイトのアライメントされたメモリを割り当て、スケジューリング前にレジスタを再設定します。なぜこれを行うのでしょうか。あなたは知りません。
誰かがドライバーに何か問題があると考えてコードを変更したい場合は、まずチップのマニュアルを理解する必要があります。
チップのマニュアルを読むまで、彼はこのコードを動かすことができませんでした。この名詞とこのビットが何を意味するのか、そしてなぜコードがこのように書かれているのかを知っているのはあなただけです。
たとえドライバーに問題がある場合でも、自分で変更する必要があります。ほとんどの人は自分の業務範囲外のドキュメントを読むのに時間を費やすことはなく、ドキュメントを理解するのに数日かかるためです。
たとえ小さなエラーであっても、通常は自分で修正する必要があります。この場所の変更が他の場所に影響するかどうかは、ドライバーを作成した人だけが知っているためです。
そのため、ドライバーが正常に使用できる限り、誰も触ることはありません。
しかし、ドライバーコードはその逆です。
あなたがどのような機能が欲しいかを私に言う代わりに、私は私が持っている機能だけをあなたに伝えます。 このドライバーにはこれらの機能しかありません。ioctl インターフェイスまたはその他のインターフェイスを提供できますか?に電話します。
パラメータを渡してxxxを返したいと言われたら、それはできないと言うかも知れません。いくつかのパラメータを同時に渡して、同時にxxxを返したいと言われても、「それはできない」と言うだけです。
なぜ聞くのですか?ハードウェア自体ではそのような効果を実現できないためです。 信じられない場合は、チップのマニュアルを読んで、理解した後でもう一度質問してください。
以上が低レベルの開発をするまで、ビジネス コードを書かないことがどれほどクールであるかに気づきました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。