日本語版
最新ニュース
科学&テクノロジー

ベストプラクティスに反する

私は、概して「ベスト プラクティス」は良いことよりも害をもたらすと信じるようになりました。必ずしもそれ自体が悪いアドバイスだからというわけではありませんが、それらは主に、1) この種の「ベストプラクティス」を権威からの議論として悪用するさまざまな種類の狂信者、愚か者、嫌いな人、または 2) 経験の浅い人のいずれかによって叩かれるためです。適用性を判断する能力に欠けるプログラマー、 他の人は「YだからXの方が良い」と言うだけです。これは実際の議論に取り組むことができ、実際の議論に取り組むことで、目の前の状況に対する最適な解決策が見つかります。 これはプログラミングに特有のものではありません。たとえ最高のアイデアであっても、それを無批判にあらゆるものに適用し始めると愚かなものになります。政治の分野でも多くの例が見つかります。そこでも、主にさまざまなタイプの狂信者、愚か者、嫌な奴らによって叩きのめされている。 これらはすべて、「ベスト プラクティス」が悪いアドバイスであることを意味するものではありません。多くは読む価値があり、常に従うべきものもあります。しかし、多くは「誰かが言ったこと」や「単なる誰かの意見」に過ぎません。 ポステルの「法則」を考えてみましょう。この「法則」を破ったらどうなるでしょうか?警察が来て私を逮捕しますか?新しい自然法則を発見したので、ノーベル物理学賞を受賞できるでしょうか?それは意味のある意味での「法律」ではありません。これは、このポステルの人が 1980 年に言ったことにすぎず、あなたがやっていることに当てはまるかどうかはわかりません。 ポステルの冗談 これは 1980 年の TCP の文脈ではおそらく良いアドバイスでした。既存の実装間には小さな非互換性が山ほどあり、Postel は実際にすべてを標準化する最初の取り組みに取り組んでいました。当時は、完全に正しい実装を書くのは一般に困難でした (大量の例があるインターネットがない、テストがほとんどない、他の実装へのアクセスが少ないなど)。 それが合理的かつ現実的なことである場合もあります。しかし、すべてのプロトコルまたはすべてのソフトウェア開発に適用される一般的な概念として、それはほとんど悪い考えであることがわかりました。これを批判したのは私が初めてというわけではなく、何十年も議論の的となってきました。 それにもかかわらず、人々は引用します ポステルの冗談 まるで「法律」のようなものはまだたくさんあります。私の法則では、そんなことをする人は皆、バカか嫌な人、あるいはその両方の組み合わせだということです。 他にも多くの例があります。 「グローバルを使用しない」は明らかに良いことですが、「いかなる状況でもグローバルを使用しない」は愚かです。いくつかの機能を備えたシンプルな CLI ツールの「グローバル」について、人々が不快感を抱くのを見たことがあります。フーディードゥー。 「非構造化 GOTO を使用するな」は、「絶対に goto を使用しない」、「隠された goto のようなものであるため continue を使用しない」、「単一出口を使用する」、およびそのような絶対的な非常識なボロックに変わりました。 「同じことを繰り返すな」(DRY)は基本的に良いアドバイスですが、場合によっては単にコピー&ペーストするだけのほうが実際的なことであり、それほど大したことではありません。…

1735060246
2024-12-19 10:58:00

私は、概して「ベスト プラクティス」は良いことよりも害をもたらすと信じるようになりました。必ずしもそれ自体が悪いアドバイスだからというわけではありませんが、それらは主に、1) この種の「ベストプラクティス」を権威からの議論として悪用するさまざまな種類の狂信者、愚か者、嫌いな人、または 2) 経験の浅い人のいずれかによって叩かれるためです。適用性を判断する能力に欠けるプログラマー、

他の人は「YだからXの方が良い」と言うだけです。これは実際の議論に取り組むことができ、実際の議論に取り組むことで、目の前の状況に対する最適な解決策が見つかります。

これはプログラミングに特有のものではありません。たとえ最高のアイデアであっても、それを無批判にあらゆるものに適用し始めると愚かなものになります。政治の分野でも多くの例が見つかります。そこでも、主にさまざまなタイプの狂信者、愚か者、嫌な奴らによって叩きのめされている。


これらはすべて、「ベスト プラクティス」が悪いアドバイスであることを意味するものではありません。多くは読む価値があり、常に従うべきものもあります。しかし、多くは「誰かが言ったこと」や「単なる誰かの意見」に過ぎません。

ポステルの「法則」を考えてみましょう。この「法則」を破ったらどうなるでしょうか?警察が来て私を逮捕しますか?新しい自然法則を発見したので、ノーベル物理学賞を受賞できるでしょうか?それは意味のある意味での「法律」ではありません。これは、このポステルの人が 1980 年に言ったことにすぎず、あなたがやっていることに当てはまるかどうかはわかりません。

ポステルの冗談 これは 1980 年の TCP の文脈ではおそらく良いアドバイスでした。既存の実装間には小さな非互換性が山ほどあり、Postel は実際にすべてを標準化する最初の取り組みに取り組んでいました。当時は、完全に正しい実装を書くのは一般に困難でした (大量の例があるインターネットがない、テストがほとんどない、他の実装へのアクセスが少ないなど)。

それが合理的かつ現実的なことである場合もあります。しかし、すべてのプロトコルまたはすべてのソフトウェア開発に適用される一般的な概念として、それはほとんど悪い考えであることがわかりました。これを批判したのは私が初めてというわけではなく、何十年も議論の的となってきました。

それにもかかわらず、人々は引用します ポステルの冗談 まるで「法律」のようなものはまだたくさんあります。私の法則では、そんなことをする人は皆、バカか嫌な人、あるいはその両方の組み合わせだということです。

他にも多くの例があります。

  • 「グローバルを使用しない」は明らかに良いことですが、「いかなる状況でもグローバルを使用しない」は愚かです。いくつかの機能を備えたシンプルな CLI ツールの「グローバル」について、人々が不快感を抱くのを見たことがあります。フーディードゥー。

  • 「非構造化 GOTO を使用するな」は、「絶対に goto を使用しない」、「隠された goto のようなものであるため continue を使用しない」、「単一出口を使用する」、およびそのような絶対的な非常識なボロックに変わりました。

  • 「同じことを繰り返すな」(DRY)は基本的に良いアドバイスですが、場合によっては単にコピー&ペーストするだけのほうが実際的なことであり、それほど大したことではありません。

  • 「12 要素アプリ」には、大丈夫なアイデアもあれば、疑わしいアイデアもあれば、完全に悪いアイデアもあると思います。

  • 「SOLID」の基本的な考え方は問題ありませんが、一般に、強いこだわりは特に優れたコードには結びつかないことがわかります。通常、80% はクソです どうやって 何かをするために必要なこと、そして20%は自分がやりたいことを実際にやることです(これにより、物事の理解と変更が容易になるのではなく、より困難になります)。

  • 等等等

上記のいずれかに同意できない場合も、それは問題ありません。しかし、「法律」や「ベストプラクティス」を引用することは、権威による誤った議論にすぎません。


「ベスト プラクティス」に反対する議論の難しさの 1 つは、次のようなことがよくあることです。

  • 「X はベストプラクティスに従っていません」

  • 「YだからXの方が良いと思う」

  • 「しかし、それはベストプラクティスZに従っていないのです!それについて書かれた本がこちらです!なぜフォローしないのですか?悪いコードを書きたいですか?!」

ここにはある種のガスライティング効果があります。 すべき 特に非常に傲慢に宣言された場合は、「ベストプラクティス」に従ってください。

これは、人々が安全性のために使用するのと同じ誤った議論です。

これが、たとえその規制が全く意味をなさない場合であっても、安全規制は拡大するばかりで決して縮小しない理由です。見た目があなたに不利であるため、安全規制に反対するのは難しいのです。私はこれを と呼んでいます 安全性の誤謬

#ベストプラクティスに反する

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。