わかりましたので、これを解決する方法とその問題を解決する方法について何百万もの質問がありますが、一般的なプログラミングの問題を実際に解決する方法について、SO に関する適切なリソースを見つけることができません。最初に問題を単純な部分に分解し、各部分を個別に攻撃するか、何とか何とかしてください。優れたプログラマーを見れば、彼らは皆、問題を解決するために特定の道をたどっていることがわかります。これらの優れたプログラマーのアプローチをそれぞれ比較すると、彼らのアプローチが交差する場所がたくさんあることがわかります。それでは、すべての新参者とプログラマーにとって、典型的なプログラミングの問題を解決するための最善の段階的アプローチ (ガイドライン) は何ですか?
3 に答える
あなたの質問は学術的に抽象的です。つまり、実際のプログラミングの問題に取り組むための貴重なガイドラインを提供する方法で回答することはできません。
ツールボックスがあり、それを抽象的なタスクに使用する方法を尋ねると想像してください。答えとして何を期待しますか?それはほとんどあなたが尋ねた質問です。
それにもかかわらず、タスクの種類ごとにどのツールを選択するか、およびそれらを一般的にどのように操作するかについて、いくつかのガイドラインがあります。
まず、タスクで使用するテクノロジ (ツール) を選択する必要があります。プログラムにはいくつかの種類があり、どのプログラムに取り組んでいるのかを理解する必要があります。予算、市場投入までの時間、およびその他の制限を考慮する必要があります。
たとえば、Web アプリケーションで作業している場合、選択できるツールがいくつかあります。ドリル、ドライバー、インパクト ドライバー、インパクト レンチ...ああ、それらは便利屋のツールボックスからのものです...別のツールボックスがあり、Java スタック、Microsoft スタック、Ruby on Rails、PHP、その他のよりエキゾチックなテクノロジ スタックが含まれています。タスクと個人的な経験またはリソースの可用性に応じて、決定を下します。
テクノロジーがあれば、さらに深く掘り下げることができます (これから使用するツールの説明を読んでください)。IT の世界では、指示書は本やその他の同様のリソースになります。特に、Java または C++/C# アプリケーションを適切に設計するには、基本的な設計パターンに慣れる必要があります。一方、Ruby on Rails を使用している場合、これらのパターンは役に立ちません。
最後になりましたが、プロジェクトの作業を整理する方法を学びます。1 つの大きなプロジェクトを小さなタスクに分割する方法、進捗状況を追跡し、予定通りに適切に完了する方法。プログラミングスキルに加えて、プロジェクトマネージャーになります。
IT プロジェクトを管理する一般的な方法がいくつかあります (実際には IT だけではありません)。最もトレンディなのは、いわゆるアジャイル方法論です。これは基本的に一連のガイドラインです。その中から、プロジェクトとチームに適したものを選択します。
すでにプログラミングに精通していることを考えると、次の手順が思い浮かびます。
- 一見しただけで、問題を全体として考えてください。期待される入力と出力を明確に理解し、全体的なアイデアを一般的に理解するようにしてください。
- すでに述べたように、問題を互いに「対話」する意味のある作業/ロジックに分解することが重要です。前のステップを真剣に考えれば、この点で大いに役立ちます
- それぞれの作品を選んだら、その小さな部分を解決するためのアイデアを考え始めます。使い慣れた利用可能なツールだけに心を留めないでください。アイデアを考えてみてください。あなたが知らない多くのツール/パッケージ/その他があり、あなたのアイデアを完成させた後、ウェブ上で見つけて驚かせることができます!
- すでに述べたように、自分自身を制限するのではなく、使用するプログラミング言語の性質を考慮してください。場合によっては、そこでいくつかの制限に直面するかもしれません...
ファインマンの問題解決アルゴリズムを使用します。
- 問題を書き留める
- 非常によく考える
- 答えを書き留める
最初のステップが最も重要です。ステップ 1 の本質は、問題を解決するには、まず問題を理解する必要があるということです。書き留める必要はありません。文章を書くのがつまらないと感じたら、代わりに自分の問題を誰か (同僚やゴム製のアヒル) に説明することができます。ほとんどの問題はこの方法で解決できます。
ステップ 1 が失敗した場合は、ステップ 2 に頼る必要があります。一生懸命考えるのが難しすぎる場合は、別の方法があります。ステップ 1 を完了したので、問題がわかりました。したがって、Google に提供するキーワードもわかります。優れた Google の魅力があれば、おそらくスタック オーバーフローでヒットするはずです。そうでない場合は、stackoverflow で新しい質問をするか、実際によく考えて自分で問題を解決してください。
ステップ 3. とても簡単です。あなたは問題を理解しています。あなたは解決策を見つけました。あとはコードを書き、テストし、文書化するだけです。難しすぎるべきではありません。パンとバターのプログラミングのもう 1 日です。