PHPを含む初心者向けプログラミングのダークサイド

プログラミングの6年後、あなたは間違いを見ます。 もちろん、間違いは純粋に自分のものですが、知識から作られました。 そして、残念なことに無知は知識と一緒に取られます。



最も簡単な方法は、パラダイムやパターンなどについて確認することです。 何かを勉強するとき、2つ以上のキャンプがあります:「for」、「against」、「not for this and that」など。

ハンガリー記法のような特定のものを取り上げましょう:

ハンガリー語表記の本質は、識別子名の前に1つ以上の文字で構成される事前指定のプレフィックスが付いているという事実に要約されます。


プログラミングの本では、ハンガリーの表記法使用し、データ型int iData;



接頭辞を形成する必要があることを読みましたint iData;





ただし、マイナス点があります。型を変更するときは、変数の名前を変更する必要があります。



最終的に将来のプログラマーを形成する上でこれらの根本的な間違いになりかねないのは、このような短所です。



ダークサイド



最後のHabratopik Jedi Path:Act 2は、プログラミングとプログラマーの暗黒面についての考えを発表するきっかけになりました。

そのトピックの著者は次のように述べています:

ダークサイド。 自分が愚かであるか賢くないと考える必要はありません。実際、あなたは自分自身について高い意見を持つべきではありません。



自分に自信を持ち、自分を信じることが必要かつ必要です。 問題を恐れずに解決策に向かってください-あなたも必要です。 しかし、自分が誰かより賢いと考えると(かなり賢い人との比較があると思います)、その瞬間から、自己発達、学習意欲など、すべてが停止します。




さあ行きましょう。



先延ばし



結果がないとき


私のためのプログラミングは、自分のゲームを書く衝動から始まりました。 学校では、GameDevに非常に興味がありましたが、結果を得ることができませんでした。 一般的に当時のGameDevに関する文献を読んで、MS Visual Studioの多くのコードサンプルに出会いました。 その時、私はVisual Studioで本を読み始めました 。 プログラミングに関する本や分厚い聖書で後に判明したように、まったく何もありませんでした。

Visual C ++では、2、3の聖書、たくさんのサイトを読みましたが、MFCしかできませんでした。C++を知らなかったので、すぐに開発が途絶えてしまいました。



結果を出したいという欲求の中で、私はVisual Basicをマスターしようとさえしました。 1冊の本からの抜粋:

ビジュアル開発環境と以前のプログラミングツールの違いは、プログラマの代わりに、プログラムの最も頻繁に遭遇する退屈な部分を「書く」ことで、それを面白くて創造的な仕事のために解放することです。 タスクが単純な場合、コンピューターがプログラム全体を完全に作成することがあります。 別の機能-Visual Basicおよび他の同様の環境で作業するプログラマーは、近年のプログラミングの世界を征服したいわゆるオブジェクトプログラミングから逃れることはできません。


Turbo Pascalは、私たち全員が学校で勉強したようですが、ゲーム開発はエンジンの不足により失敗しました。 Delphiの例はほとんどなかったため、このIDEでも数冊の本が読まれました。 約2年間、ゲームエンジンの開発と操作に関連するすべてを読みましたが、私はしませんでした。



その点が本を理解することではなく、これらの本の情報とその研究の順序にある​​ことに気づくまでに、おそらく1年以上が経過しました。 言語に関する本を勉強しなければならなかった一方で、私単にVisual Studioの本が必要だと考えました

正しい構文についての高度なステートメントについて系統的に読みましたが、本に付属している例のコードにエラー、省略、省略があったか、コンパイルできませんでした。



その結果、4年間自分のゲームを書き込もうとしても、まったく何もありませんでした。

今、私は成功しなかったほど、先延ばしが進んだと言える。 実際、コードが記述されてからコードを実行しようとするまでの期間は常に増加していました。 そして、結果を求めて、私は言語から言語へとジャンプし始め、「真実」を見つけようとしました。定期的に頭を詰まらせる理論でしたが、それは理解する助けにはなりませんでした。



私見: プログラミング(最初)では、最初に1つのことを選択し、少なくとも少しは達成することが重要です。そうしないと、言語から言語へ、IDEからIDEへ、またはフレームワークからフレームワークへと長いジャンプをすることができます。



世界を書き換える


失敗と休息の後、私はウェブ用のプログラミングに興味を持つようになりました。 php4の本を読んで、少なくとも「サイト」を書き始めました。 もちろん、私は基本的にスクリプトを支配して追加し、これを「サイト」に統合しました。



しばらくして、コードを読み始め、自分の間違いを見て、「OOP」の形式でそのパンでphp5をマスターしました。 新しいパフパフのために私が最初に書いたのは、データベースを操作するためのクラス、そして別の「クラス」です。

その結果、最も単純なサイトがどのように機能するかを「考える」ために、このサイトまたはそのサイトを開発するのに多くの時間がかかりました。 ほぼ毎回、クラスを書き直し/補足/改善しました。



原則として、特定のライブラリがクラスの形式(php5)と古いphp4の両方で存在することを知っていました。 しかし、それから私は自分が必要とするものすべてを書くという考えに夢中になりました。



最小のプロジェクトでクラスをもう一度「書き直す」必要が生じた場合、どのように先延ばしがないのでしょうか?



ストレス管理


私が自分ですべてを書きたいという渇望に取りreasonsかれた理由の1つは、負荷との闘争でした。

コンパイルされた言語の熱烈な支持者は泥のphpを注ぎ、その劣等性と「遅さ」を指摘しました。



そして、 コンパイラ、 CMS、フレームワーク、ライブラリ、クラスを作成する熱心なサポーター-どこでも、そして常に各パブリックプロジェクトに大量の汚れとブレーキの例を注ぎました。



正直なところ、6年間、アプリケーションでサーバーの過負荷に遭遇しました。 そして、mysqlでこれを行ったからです。

SELECT ...,... FROM ... WHERE in ( SELECT ...,... FROM ... WHERE in ( SELECT ...,... FROM ... WHERE in ) )





1つのSELECTを個別に実行すると、負荷を除去できます。



しかし、私は古い仲間に耳を傾け、彼らのアドバイスに従いました:「言語を学び、フレームワークを使用します」、「フレームワークを書きます、見知らぬ人が開発を制限するので」など...



救い




最良のツールは、使用できないものではなく、使用できるものです。 つまり、「必要に応じて」ではなく、できる限りプログラムを作成します。



時間が経つにつれて、私は特定の言語に集中し始め、何かがうまくいかない場合、私は系統的に尋ねました。 たとえば、qtに興味を持つようになったとき、c ++とOOPについて、そしてライブラリについて読み始めました。



それにもかかわらず、私はさまざまなライブラリとフレームワークの「力」を自分で発見しました。 彼は大規模なプロジェクトを使用し始め、そのコードを読み始めたため、勉強することができました。



状況下でコードの記述と使用を開始しました。 シンプルなサイトの場合は、mysqlを使用せずにphpで作成するか、/ sqliteファイルでCMSを使用できます。 ビジネスWebサイトの場合、mysqlの使用は冗長な場合があります。



逆に、「SQLなし」で作業するというパラダイムに押し込もうとする大規模なサイトは、結果に悪影響を与える可能性があります。 最初の数年間の怠inessさと近視から、私はプロジェクトを書き直しました(最初はSQLなし、次にSQLあり)。



正直に言うと、あまり知られていないソフトウェア、特にトラフィックが1日あたり1,000個未満のサイトをハッキングすることはほとんどありません。



主要なプロジェクトのために書くために、私は自分がこれに専門的で結果を達成できる場合にのみ、書くことを信頼することができます。 一般に、真剣なプロジェクトを書いてそれを自分のために / 仕事の暇な時間に / 単独で行うことは、TKを置いて他の人/チームから結果を得るよりも何倍も難しいことを理解する必要があります 。 そして、ここには多くのことがあります。



私たちは皆、異なるレベルの開発を行っており、誰かが私たちの先を行くことがよくあります。 プログラマが他のプログラマに開発を命じるのは恥ずべきことではありません。 誰かが別のお金を払うことを自分の尊厳より下にあると考えていますが、フォーラムで何日もぶらぶらしているのは大歓迎です(早め)



他の人のクラス、ライブラリ、フレームワークなどを使用することを恐れる必要はありません。 プロジェクトの原因が原因で問題が発生している場合は、頭をオンにする必要があります。 言い換えると、事前最適化を行うことはです。



デザインパターン(パターン)について読むことは、自転車を「発明しない」のに大いに役立ちます。



All Articles