インラインスクリプトの実際の問題は何ですか?
インラインスクリプトは不適切であり、コードを読みにくくするため、避ける必要があります。
読みにくいコードは保守が困難です。簡単に読んで内容を理解できない場合、バグを簡単に見つけることはできません。維持するのが難しい場合、後で問題が発生すると、時間の無駄が増えます。
難しさは通常、ネストされたエンコーディングにあります。次のコード行に問題がありますが、見つけられますか?
<a onclick='alert("What\'s going wrong here?")'>Alert!</a>
理想的には、コードは間違いがあったときに簡単に見つけられるように書かれています。Joel Spolskyは、2005年にこの点を強調したすばらしい記事を書いています。コードの例では、年齢が9歳であることを示しているため、大幅な改善を行うことができますが、根本的な概念は依然として強力です。バグを見つけやすいようにコードを記述してください。
重大なパフォーマンスの問題がありますか、それともほとんど良いスタイルの問題ですか?
インラインスクリプトは繰り返しにつながります。1行のコードを変更して100ページに影響を与える代わりに、100ページを個別に変更する必要があります。これは、可読性の悪さとともに、メンテナーのパフォーマンスに深刻な影響を及ぼします。プログラミング時間には、ほとんどのコード最適化からの数ミリ秒よりも速くビジネスの最終利益に影響する実際のコストがあります。ボトルネックを確実に最適化することは重要ですが、この場合、コードのパフォーマンスの違いは無視できます。
インラインスクリプティングの前線で即座にアクションを実行することを上司に正当化できますか?
いいえ。それが愚かで機能する場合、それは愚かではありません。
これに対するプログラミングの帰結は、それが愚かなコードであり、機能する場合、それは愚かなコードではないということです。壊れていないものを修正する前に、実際の問題に集中してください。インラインコードが最終的に更新を必要とするとき、それが6時間、6か月、6年のいずれであっても、将来の保守が容易になるようにコードを修正します。
「うーん、ここでのプロフェッショナルな仕事」と言わざるを得ない要因は何ですか?また、明らかにアマチュアっぽい仕事から何が反発するのでしょうか?
私は、「プロ」とは、仕事をするために大きな能力を持っていると考えるよりも、単に仕事をするためにお金を払う人として定義することを好む傾向があります。多くの専門家は確かに良い仕事をする能力がありますが、私は多くの場合、アマチュアが思いついたものではなく、他の専門家が行った恐ろしい仕事に恐怖に巻き込まれています。これまでの私の仕事の多くは、最初の開発者によって失敗した列車事故プロジェクトの救助に関係していたため、あなたの走行距離は異なる場合があります。
とはいえ、一般的にエンタープライズ品質のプログラミングを選ぶのは簡単です