若きプログラマーの悲しみ

WBOY
WBOYオリジナル
2016-08-08 09:28:57961ブラウズ

若いプログラマー、これは初めての仕事の経験ではありません。しかし、彼の最初のプロジェクトには問題があることが判明しました。当時、彼は機能を変更する必要はないと考えていました。しかし、彼は間違っていたため、すべての機能変更には完全な再構築が必要となり、その結果、バグが蔓延し、膨大な時間が無駄になりました。彼はテストを書くなどの無害な方法も試しました。しかし、彼のテストにはメンテナンスが必要で、作成に時間がかかり、実行にはさらに時間がかかります。

すべての若い 開発者 と同様に、彼の成長の道は、「時期尚早の最適化は諸悪の根源!」、「テストを書いて! テスト! テスト!」という経験豊富な開発者の声で満たされています。 。もしかしたら、彼はちょっとした実用的なメソッドをリファクタリングしているだけなのかもしれないが、このとき経験豊富な開発者がやって来て、「時期尚早に最適化しないように言ったよね?」とか、「何をしているの?テストを書いているの?」と真剣に注意した。 」

しかし、多くの場合、若い開発者は片方の耳に何かを入れて、もう一方の耳に物を入れるだけです。なぜなら、彼らはなぜ時期尚早な最適化が悪の根源であるのか、そしてなぜ良いテストを書く必要があるのか​​を理解していないからです。過去の限られた経験から、彼は以下のテクニカル指標は長期的には機能せず(変化する傾向があるため)、テストを書くのは時間の無駄であると信じていました。

「一体なぜ毎回コードを書き直す必要があるのでしょうか?一体なぜ今書いているコードをリファクタリングする必要があるのでしょうか?そして一体なぜ、そうでないものを書くのにそんなに多くの時間を費やさなければならないのですか?仕事?テスト?」と若い開発者は心の中で叫びました。

それで、ついにある日、若い開発者が新しいプロジェクトに取り組み始めました。今回、彼は経験豊富な開発者の警告を無視することにしました。彼は、自分が作成したコードはすべて高速で、構成可能で、強力であり、パラメーター仕様のあらゆる変更に耐えられると信じていました。プロジェクトの核心を掴むために知恵を絞った後、若い開発者は震えずにはいられませんでした。「ははは、あの『年寄り』が間違っていると言ったところです!」まるで勝利が見えてきたかのように、若い開発者の目は震えていました。勝利の輝きが溢れていました。

しかし、リリースからしばらく経って…

ある日突然、お客様からプログラムにバグが見つかったと連絡がありました。経験豊富な開発者はバグを見て問題を見つけ、若い開発者に自分が作ったバグを修正するように依頼しました。

自分のコードが嫌われたと聞いたとき、若い開発者の最初の感情は怒りでした。しかし、プロジェクトを見た後、彼は自分が書いたコードを理解できないことに気づきました。彼はこれらの暗号の意味をまったく理解できませんでした。ああ、なんてことだ、災難だ!

しかし、方法はありません、これは彼の問題です、彼は弾丸を噛むことしかできません、わかりました、ついにこのバグを修正しました - しかし、新しいバグが数日で現れました。 バグ——パッチ、バグ——パッチ、疲れました。

若い開発者は倒れそうになりました。「私はこの種の仕事に向いていないのかもしれません。そうでないなら、なぜうまくコードを書くことができないのですか?」と自問するすべての声の中で、若い開発者は疑わしく言いました。経験豊富な開発者向けのプロジェクト。彼はショックを受けました!コードは非常にシンプルで理解しやすいです。コメントとテストがあります。これは彼が書いたコードとはまったく異なります。最も明白な違いは、追加の構成がなく、コードのすべての行がテストされ、すべてのメソッドに意味のある名前があり、メソッドが非常に短く (最も長いメソッドでも数十行のコードしかありません)、コードは次のことを実行するだけです。顧客が求めたことを実行します。

その瞬間、若い開発者は非常にイライラしていましたが、経験豊富な開発者がやって来て、若い開発者の側に歩きながら、実際にこれらのエラーをリファクタリングする方法を考え始めました。

問題を解決するために協力している間、若い開発者は、経験豊富な開発者が問題を解決する段階的なプロセスを目撃し、経験豊富な開発者がコードを書く若い開発者を監督することもありました。

数日後、バグが修正されたことを示す別のリリースがリリースされました。 バグの原因となったコード スニペットは現在テストされており、読みやすく、非常に安定しています。経験豊富な開発者は若い開発者を見て「もう理解したはずですよね?」と尋ねました

若い開発者はうなずきました。今、彼は理解しています。完璧への鍵は、将来を予測できることではなく、変更とテストが容易で (コードを変更してもバグが発生しないように)、現状を満たすだけで済むコードを書くことです。ニーズ。そしてこれに気づいたとき、彼は「ほぼ」経験豊富な開発者に変身していました。

「今からプロジェクト全体をリファクタリングするつもりですか?」と若い開発者は尋ねました。

「もちろんそうではありません。これには予算がありません。」 経験豊富な開発者はきっぱりと答えました。

「でも、他の バグ が現れたらどうするの?」と若い開発者は尋ねました。

「これらの問題を解決するにはフリーランサーを活用できます。」 経験豊富な開発者はこう答えました。

その後、「ほぼ」経験豊富な開発者が良いコードを書けるようになり、徐々に高いレベルに近づいていきます。もちろん、それはまた別の話です。

若い開発者へのアドバイス: 以前に書いたコードに戻って見てください。コードが以前ほど美しく見えなくなった場合、それは進歩していることを意味します。

経験豊富な開発者へのアドバイス: 若い開発者があなたの隣に現れたら、時々彼らの混乱を片付ける必要があるかもしれません。この状況から抜け出したければ、できるだけ早くまともなコードを書くように教えてください。

フリーランサーへのアドバイス: おそらく報酬を増やすべきです

無料で入手LAMPBand of BrothersオリジナルPHPビデオチュートリアルCD/ 話しましょうPHPについて詳しく》エッセンシャル版、詳しくは公式サイトカスタマーサービスまでお問い合わせください:http://www.lampbrother.net

PHPCMS二次開発http://yun.itxdl .cn/ online/phpcms/index.php?u=5

WeChat開発 http://yun.itxdl.cn/online/server /index.php?u=5

Javascript コース

http://yun.itxdl.cn/online/js/index.php? u=5CTOトレーニングキャンプ

http://yun.itxdl.cn/online/cto/ Index.php?u=5 以上、若手プログラマーの悲哀をその側面も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。