web-dev-qa-db-ja.com

どのようにあなたの基本的なスキルを萎縮から守りますか?

コーディングは、プロフェッショナルプログラミングの1つの側面にすぎません。私の仕事ではコードを書く必要がありますが、他のことを長期間行う必要もあります。コーディングだけでない場合は、数日から数週間かかることがあります。

会議で座り、アーキテクチャ図を描き、要件に注釈を付けている間、ハードウォンのプログラミングスキルを萎縮させることを恐れています。 (言うまでもありませんが、コードを理解していない要件を作成する人を信用していません。)

コーディングについての本や雑誌をただ読むことはできません。私は自由な時間にいくつかのオープンソースプロジェクトに携わっており、スタックオーバーフローや友人たちが少し助けてくれます。マイクロマネージメントなしで人々がプログラミングの問題を解決するのを手伝う機会があるからです。まず、簡単に解決できる問題について。

私が見つけたいのは、構造化された一連の演習だと思います(どの言語や環境でも構いません)。

  • …定期的にできる
  • …ある種の時間要件があるので、私がだまされていたかどうかを知ることができます
  • …スコア付けの種類があるので、間違いを犯しているかどうかがわかります

そんなことありますか?あなたのスキルを新鮮に保つにはどうしますか?

37
kojiro

コードカタ すぐに頭に浮かぶ。

アイデアは、これらが繰り返し可能なエクササイズであり、寒いことがわかるまで練習でき、定期的に繰り返してチョップを維持するというものです。プログラミングに重点を置いているものもあれば、よりオープンエンドで思考と設計に重点を置いているものもあります。これらは任意の言語または環境で実行でき、一部の人々はそれらを使用して、新しいアプローチ(たとえば、テスト駆動開発)を試したり、学習したりすることもできます。

上にリンクしたサイトには、カタのアイデアがたくさんあります。別のかなり有名なものは、Uncle Bob Martinの ボウリングゲーム です。

26
Adam Lear

Project Euler はどうですか?

数学的な洞察だけで解決する必要のない、一連のやりがいのある数学/コンピュータプログラミングの問題。数学はエレガントで効率的な方法にたどり着くのに役立ちますが、ほとんどの問題を解決するにはコンピューターとプログラミングのスキルが必要です。

プロジェクトオイラーとその継続を開始する動機は、探究心が未知の領域を調査し、楽しくレクリエーションのコンテキストで新しい概念を学ぶためのプラットフォームを提供することです...

対象となる聴衆には、基本的なカリキュラムが空腹感を養っていない学生、バックグラウンドが主に数学ではないが数学的なことに興味を持っている大人、および問題解決と数学をエッジで維持したい専門家が含まれます...

10
Martin Beckett