カットをお願いします
反転値スケール
プログラマーが悪いコードを書くたびに、神が子猫を殺すという伝説があります。 私たちはすべて子猫の殺人者であることを認める時です。 一部の手には血の肘があります。 権力の方向への最初のステップは、あなた自身でこれを認識することです。 すべてのコードは、宇宙へのカオスの導入です。 シンボルはエントロピーの増加です。 これを認めると、コーディングの優しさと喜びのマスクが落ちます。 私たちがすることはすべて悪いことです。 そして、それについては何もできません。 これを行うことができるのは、より少ない量でのみです。
私たちはsaのようなものです。 私たちは殺す訓練を受けています。 しかし、ポイントは殺すことではありません。 または、できるだけ少なく殺します。 最高の戦いはまだ始まっていない戦いです。 最適なコードは、未記述のコードです。 コードはすべて悪です。
値の反転スケール-これらはマイナス部分の評価です-悪い、悪い、悪いです。 良くない、良くない。 シスは、ジェダイが計画を間違えていると信じています。時には良いコードであり、時にはより良いものです。 起こらない 負のスケールは、周りの悪だけです。 そしてシスは、より小さな悪を選択せざるを得ません。 ジェダイは最高の善を選ぶ。 つまり 2つの解決策を見つけた場合、肯定的な品質を確認し、好みに基づいて最適なものを選択します。
負のスケールは、アクションのグラデーションを増やします。 シスはコードの影響を受けません。 ジェダイは、新しいことを学ぶことの優しさと喜びからしばしば「フリーズ」します。 彼は問題を解決する多くの方法を考えており、それぞれが「存在する権利とプラスを持っています」。 ジェダイは選択の問題を抱えています。 彼にとってすべてがとてもおいしい。 それは、新しい子猫の命を奪います。 たとえば、ジェダイは何か面白いものに夢中になり、不必要なフレームワークをプロジェクトに押し込むことができます。 それは彼にとってクールで新しいものだからです。 ジェダイがいくつかの良い決定を見た場合、その選択はしばしば偶然になります。
シスは選択の問題に悩まされません。 彼は選択することをheしません。 彼にとっては、すべてが悪いことは明らかです。だから、それほど悪いことは、活動を減らすことができるということです。
このアプローチには副作用があります-キャラクターは完全に台無しにされます。 シスはすべてのコードをgovnokodomと呼びます。 ジェダイ集団の関係を台無しにできるもの。 ジェダイは次のように考えています。「それぞれのアプローチとツールには長所と短所があり、シスは何らかの理由でカテゴリーに属し、それらの使用をたわごとと呼んでいます。」 短所については、ジェダイは不誠実です。 それらに集中することはありません。すべての利点のみを確認します。 シスは、すべてをくだらない、そのような規模と呼びます。 問題に応じて、彼はそれを削減しようとし、問題を解決する別の方法を賞賛しません。 シスにとって、どんな決定も悪い。 しかし、さらに悪いものもあります。
顧客の考えを表現する
活動の削減の頂点は、思考の直接的な表現です。 また、主題領域からの考え。 この点で、プログラミング言語はコミュニケーション言語と見なされます。 これは、思考が表現される言語です。 OOPの人気はこれと正確に関係しています。自然言語には主語と述語が必要です。 サブジェクトはオブジェクトであり、述語はメソッドです。 これはオブジェクトで構成された世界ではなく、これは知覚であり、そのような自然言語です。 「風が吹いている」、「光が輝いている」などのインシデントが発生する場合があります。 でたらめ。 オブジェクトとそのアクションはありません。 同じナンセンスが企業で見つかることもあります。 しかし、これはすでに起こっているため、OOPは多くの場合、顧客の言語からの翻訳、思考の自然な表現形式です。
これはOOPアドバタイズメントではありません。 より厳格な記述方法(剛性を参照)を歓迎します。
プログラミング言語は、プログラムのコンストラクターではありません。 自然言語に文法があるように-文法の知識は、考えを明確に、正確に、簡潔に表現できることを意味しません。 まだパターン、最適化、さまざまな可能性に興味があるなら、あなたはまだ初心者です。 思考を表現する能力が重要です。 そして、文中に「M」という文字が何回見つかったかではありません。
マルチスレッドの操作など、言語で提供される機会を賞賛しないでください。 これはすべて、顧客の思考ではなく、タスクに適用されます。 顧客の考えを簡潔かつ明確に表現する方法にのみ興味があります。
顧客が「犬が道を渡った」をプログラミング言語に翻訳するように頼んだら、それはまさにあなたがする必要があることです。 牛ではなく、子猫でもありません。 多くのプログラマーは、このプロセスに非常に情熱を注いでおり、「金色の襟の白いラップドッグが、木の根元の角を曲がったところを通り抜けました。」 彼らは、品種と襟だけではありません。 そして、彼らは彼女とホステスのためにボウルも作っています。 都市のインフラストラクチャ全体。 彼らは言語をコンストラクターとして認識しているからです。 なんで? はい、突然顧客が後で犬に餌を与えたいと思うように、そのような要求を表明します-すでにボウルがありました、都市はそうでした。
プログラミング言語ではインフラストラクチャの作成が必要になる場合があることを認めなければなりません。 ただし、プログラマの効率は次の式で計算されるため、このアクティビティを最小限に抑える必要があります。
(有用な作業)/(使用済みの作業)
また、WCFチャンネルが有用な仕事を始めていることをごまかしてはいけません。顧客はそれを夢見ているだけで、単にそれを知りません。
人文科学を自殺するために
プライベートな会話で、友人である心理学者が大きな口を開きました。
そして尋ねる:
-シートには何が見えますか?
「ジャックドー」と答えたが、この質問が何であるか理解できなかった。
「あなたからは何も来ません。」 あなたは創造的な人間ではなく、創造力がありません。 これは簡単な創造性テストです。 そして、その人が創造的であればあるほど、彼はフォームをより奇妙に見ます。 いくつかの心、雲、さらには馬。
それから彼はため息をつきます:
-しかし、何らかの理由で、数学者はほとんど常にDawを見る...まれに-無限の兆候。
私:
「彼らは、まるで鳥のように見えるので、鳥が見えます。」
それから、分析精神、正確な科学が人文科学や芸術とどのように異なるかについて意見がありました。 人間は外の世界と相互作用し、アーティファクトを作成します。 唯一の違いは、アーティファクトを作成するときに、自分または世界から情報の流れがどこから来るかです。 正確な科学では、彼らは世界を研究し、自分自身からより少ない仮定をしようとします。 「これが見える」という言葉で物理学の問題を解決するとき、ばかげたことを聞くのはばかげているでしょう。
創造的な人々はそれを簡単に言う。 そして、彼らはコードで創造的です。 プログラマーから「私たちには創造的な職業があります」、「誰でも正しい、誰もが自分の意見がある」、「解決する方法がたくさんある」と聞くたびに、私はジャックドーの代わりに馬を覚えています。 毎回、通常、それらの言葉で、プログラマーはすでに何かを考えていました-何らかの種類の柔軟性(後で)。
正確な科学では、問題を正しく解決するいくつかの方法があります。 しかし、それを間違って解決する方法は無限にあります。 通常、正しい決定は機械的なルールに基づいています。
私たちプログラマーでは、外部情報のソースは顧客です。 要件を可能な限り正確に翻訳する方法は多くありません。 さらに、各プログラミング言語は独自の自然な方法を提供します。
正確なメンタリティを持つ人々を他に区別するものは、言語が言語の外部のある種の思考を表現するために使用されるということです。
子供のなぞなぞ:
地球の真ん中には何がありますか?
回答:文字「M」。
これは、オブジェクトと言語の一部、つまり単語を混同する場合の例です。
正確な考え方を持つ人々は、言葉や言語構成ではなく、オブジェクトを操作します。 逆に、燃料と潤滑油を使用している人は、音、言葉の組み合わせ、言葉の根元に隠された意味などに美しさを感じることがあります。
シスは自分の中の人文科学を殺さなければなりません。 私たちは創造的な人ではなく、エンジニアです。 はい、今では流行ではありません。
コードを理解することは、顧客の考えを表現することです。 しかし、ジェダイは言語、その特性、構造にあまりにも夢中になっており、仕事のあらゆる面を横断しています。 まるでカラスの馬のように、横から見るととんでもないように見えます。
剛性
プログラムは柔軟でなく、タイトでなければなりません。 自分の中でジェダイを認識しましたか? シスのスケールは逆になっています。
大学と本は、悪いコードは柔軟性のないコード、ハードコードであることを教えています。 これは世界的な陰謀と欺ceptionです。 すべてが正反対です。 プログラムは顧客の要件を満たしている必要があります。 そして現時点では。 そしてポイント。 さらに、最も厳しい方法、最も制限された方法を満たします。 プログラムの制限は、電車のレールのようなものです。 プログラムは目的を達成し、センチメートルを逸脱してはなりません。 この点で、忠実な味方は静的型付けです。 プログラマーは、プログラムが禁止された場所に置くことを許可できない型を具体的に作成します。これは、開始する前にコンパイラーによってチェックされます。
プログラムの柔軟性は優先事項ではありません。 プログラムはどのようにして柔軟性とタフネスを同時に実現できますか? 秘Theは、彼らが教えないことであり、彼らがプログラムにとって唯一の重要なことは正しいことであることを忘れているということです。 ハードコードが原因で、プログラマーが将来問題を抱えるという事実、要件が変更された場合、これは顧客を心配する必要がありますか? これはインドの問題です。 しかし、誰もが柔軟性とパターンに集中していたため、剛性が非難され始めました。 プログラムの正しい動作が保証されるとすぐに。 もちろん、悪いハードコードは問題をもたらします。それは、シスの活動の最小化に反します。 しかし、私たちの世界観の一番上にあるのは、プログラムにおける思考の表現の簡潔さと明快さです。 そのため、プログラムを簡単に書き換え、コードを変更できます。 柔軟性がある場合、それは「強制」されます。 開発の有効性を評価する際には、言語自体だけでなくIDEも含める必要があります。 変化を恐れて柔軟性を確保する必要はありません。 ノートブックで動作していません。
プログラムとバグを殺す
シスはバグが大好きです。 彼らは待っています、尊敬されています。 バグが発生するとすぐに、シスはすべてを投げ、彼だけに注意を払います。 バグにはこの性質があります。理由がわかるまで、バグの重要性と損害はわかりません。 プログラムにバグが発生すると、プログラムは信頼を失います。 彼女は働かない方がいい。 動作していないプログラムは、動作しているプログラムよりも一般に優先順位が高くなります。 動作し続けるプログラムは単にリソースを消費し、有用なアクションを生成しません。 少なくとも、彼女が何か役に立つことをしていることは証明されていません。 さらに、実行中のプログラムはしばしばバグを隠します。 シスが誰を待っているのか。
シスはバグを待っているので、バグを目立たせることが優先事項です。 彼が頑固であればあるほど良い。 そして、注目を集めるための最良の方法ではないもの、プログラムを落とす方法は? エラーがログに追加されるアプリケーションを数回見ました。 ご想像のとおり、このログは長期間読み取られません。
より悪いオプションは、プログラム全体やプロセス全体をクラッシュさせるのではなく、スタックの最上部で例外をキャッチしてサポートに渡すことです。 このようなオプションは、独立した操作が実行される多くの決定に受け入れられます。 たとえば、多くの場合、データベースで作業します。 各操作は比較的独立しており、プログラムが完了していないか、いずれも実行できない場合、プログラムは引き続き動作します。 しかし、一般的なケースでは、そのような仮定はできません。
私は(シスとして)息をするたびに完全にクラッシュするソフトウェアを書くことを勧めません。 ここでは、すべてが落ちてエラーが修正されたときに、より小さな悪を選択し、責任を負う必要があります。これは単純な場合よりも危険です。 多くの場合、2番目の解決策が受け入れられます。
最悪のシナリオは、プログラマーがすべてのローカルピースを含むプログラムが生き残るべきだと信じている場合です。 各方法は、同盟国のいない敵に囲まれた戦場にあるかのように書かれています。 そして、彼は自分に割り当てられたタスクを解決しようとしており、できない場合は回避策を見つけることができ、できない場合は単に生き残ることができます。 これは地獄のgovnokodです。 回避策を見つけます。 メソッドを回避しなければならないことが起こった場合、外部コードのバグ、メソッドがそのアクティビティをカバーしている、またはプログラマーがメソッドの外部のコードについて何も知らないことを意味します。 困ったことは何ですか。 ランダムに書くために、サインは初心者のものではなく、ゼロです。
おわりに
今日は少なくともこれらのポイントで十分だと思います。 これは、コードを評価および開発する方法のマニフェストまたは完全な概要を主張するものではありません。 しかし、一般的な位置-逆さスケールは、いくつかの利点を提供します。
その日が退屈になったことを願っています。