1.私たちは間違っています
プログラマーはしばしば大きな自我を持っています。 したがって、私たちが何かを間違えていることに気付くことはしばしば困難です。 開発者が自分のアイデアを賞賛するプロジェクトアーキテクチャに関する多くの論争を見てきました。 しかし、すべてが間違っていると仮定します。 そして、それらのエラーの程度のみが異なります。
この事実を一度だけ認識し、受け入れることは非常に重要です。他の人の意見を聞いたり、アイデアを使って最良のソリューションを作成したりできます。
2.故障する可能性のあるものはすべて故障します
何かについて確信が持てない場合、「すべき」という言葉を言うと、問題が生じます。 唯一の解決策があります-それが壊れないことを確認するために何かをすること。 テスト、デバッグ、または正確な要件を見つけることができます。
3.すべてのコードはたわごとです
私を取り巻くくだらないコードについて10年間不満を言った後、私は素晴らしい結論に達しました-すべてのコード(私のものを含む)はたわごとです。 もちろん、多くの程度のがらくたコードがありますが、私が見た中で最高のコードは読みにくいものでした。
これは、コードを改善する努力が無駄に終わっているという意味ではありません。 それどころか、最良のコードと最悪のコードには大きな違いがあります。
4.プログラムには常にバグがあります
いつも! 唯一の問題は、バグを見つけるのにどれくらい時間がかかるかです。
5.最も重要なことはクライアントです。
他の多くのことに加えて、クライアントは気にしません:プロジェクトで使用する技術、アプリケーションを適切にするために必要なステップの数、または正しいアプローチを使用する場合はすべてを要約します。
そして、上の段落を1つだけ残すと、どれだけ多くの怒ったコメントを受け取るか想像できます。 私が言いたいことを説明させてください。 クライアントのビジョンを決して忘れないでください。 適切なアプローチのためだけに、開発者がテクノロジーを使用したり、他のエンジニアリングの改良を課したりする場合があります。 ただし、これがクライアントに価値をもたらさない場合は、捨ててください。
6.紙のプログラムが機能しない
プログラム全体を紙に書き、それをコンピューターに転送すると、うまくいかないと信じていました。
ソフトウェア開発プロセスは複雑であり、手を汚すまですべての依存関係とブランチを考慮することは不可能です。 設計と計画は大いに役立ちますが、あまり慎重にしないでください。 そして、契約のためにチャートを取ることはありません。
7.少ないほど良い
または、別の言い方をすれば、善の最大の敵です。 不要なものは捨ててください。 壊れる可能性のあるものはすべて壊れています。
8.エンコードには20%の時間がかかります。
80%の思考、デバッグ、テスト、会議、会話に費やす準備をしてください。他のアクティビティも重要です。優れた開発者になるには、技術的なスキルだけでなく、学ぶ必要があります。
9.顧客は自分が何を望んでいるのか分からない
顧客にはニーズ、アイデアがありますが、詳細はわかりません。 ソフトウェア開発は完全に詳細を定義し、不確実性を排除し、最終的にはアイデアをコードに変換することで構成されます。
10.誰かがすでにこれを行っています。
車輪を再発明したり、Googleを使用したりしないでください。同僚に尋ねてください。 確かに、彼らはすでに似たようなことをしている。
ボーナスアイテム!
おい! しかし、私たちの仕事は素晴らしいです!
出所