web-dev-qa-db-ja.com

競争力のあるプログラミングを始めるには?

私はしばらくコーディングを練習していますが、問題は解決策を書くのに長い時間がかかることです。競合プログラミングがこれを改善するのに役立つかどうか尋ねたいと思います。

はいの場合、どのように開始すればよいですか、どのWebサイトから使用できますか( TopCoder など)?明らかに、今のところ非常に難しい問題を解決することはできません。私は何をすべきか?

いいえの場合、他に何をすべきですか?

また、コーディングについて学びたいという別の問題もありますが、私はそれがあまり得意でないと感じています。私は何をすべきか?それは私を内側から盗聴するようなものです。

この質問が役に立たない人がいるかもしれませんが、少なくとも回答を得られるようにしてください。

17
Vaibhav Agarwal

[できる]競争力のあるプログラミングは、[速度]の向上に役立ちますか?

はい、それは可能であり、十分な時間が与えられれば、確かにそうなります。ただし、スピードはあなたが改善しようとしている最も重要なスキルではありません。 TopCoderに10年以上参加してきた私の経験から、競争力のあるプログラミングから取る最も重要なスキルは、デバッガを使用せずに、初めて簡単なコードスニペットを正しく書く能力です。

TopCoderのようなサイトからどのように開始しますか?

ディビジョン2の練習室を使用します。ディビジョン2のレベル1は通常、「タイピングコンテスト」です。つまり、ソリューションをすぐに理解できるので、タスクはできるだけ早くコーディングすることができます。ほとんどの実際の割り当てはそのようなものです。デバッガーが最大の「時間の浪費」であることがすぐにわかるので、デバッグせずにコードを完成させようと自然に試みます。これは最初はイライラしますが、時間とともに改善されます。レベル1の問題がうまくいくには数百もの時間がかかるので、あきらめないでください。

頭の中でのデバッグ は、実際の仕事であなたを助けるスキルです:コーディング速度は重要ではありませんが、デバッグせずに正しいコードスニペットを書く機能は、良い状態からの移行に役立ちます卓越した。

19
dasblinkenlight

初心者のプログラマーとしては、コードの品質よりも、コードの作成速度の方をはるかに重視する必要があります。スキルを伸ばすには、自分でプロジェクトに取り組む必要があります。その後、オープンソースプロジェクトをレビューして、他の人がコードをどのように記述しているかを確認し、おそらくオープンソースプロジェクトへの貢献を開始できます。

さまざまなプラットフォームやビジネスドメインでコードを開発して25年以上になりますが、コードの品質と安定性よりもコードの作成速度の方が重要であるというケースは見当たりません。

10
cdkMoose