それが私だけなのか、これが私たちの分野でよくあることなのかはわかりません。
昨年は、私にとって少し厳しい時期でした。私はいくつかのタスクを完了するためにいくつかの異なるテクノロジーを学んでおり、時々私は学んでいるその1つの新しいテクノロジーに完全に集中しなければなりませんでした。
しかし、プロジェクト全体ですべてを一緒に使用することに戻ったときに気付いたのは、他の新しいテクノロジーの学習に集中する前に、すでにやっていることのやり方を忘れていたことです。 jqueryでdivを選択するための構文のような単純なことすら忘れてしまい、古いファイルに戻ってすばやく確認しなければならないことがあります。
以前に別のプロジェクトで実行したことを認識しているものをコーディングしていることがありますが、それがどのプロジェクトの目的であるかを完全に思い出せないため、いくつかのプロジェクトを調べ、コードを調べて、どこでそれを実行したかを思い出す必要があります。
以前に行ったことを忘れないようにするため、または過去に作成したコードに簡単にアクセスするために、どのような方法を発明しましたか?
作業ログを保管しています。これは単なるプレーンテキストファイルです。毎日、自分が取り組んでいること、つまり何をしたか、どのような問題が発生したか、どのように解決したか、誰と話し合ったか、何を話し合ったか、どのような決定をしたか、関連するファイル/クラス/ウェブページ、等.
したがって、問題が発生し、それについてdeja-vuの感覚があるときはいつでも、作業ログを検索するだけで、ほとんどの場合、探しているものをすばやく見つけることができます。
作業ログを使用すると、時間の使い方の追跡、週次/月次レポートの作成、パフォーマンスレビューの準備も簡単になります。
それは私に起こります。たとえば、私は実際に仕事でそれらを使用しないので、Ruby/Javascriptを常に再学習しています。あなたは最終的にいくつかのことを思い出し始めますが、私はまた、大きく依存している多くのタグが付いた膨大な数のブラウザのブックマークを取得しました。一般的に使用されるコードスニペットの場合、それらのコレクションがありますが、それでも私は次のことを行う必要があります。1。持っていることを忘れないでください。か否か。残念ながら、もっと良いシステムを思いつくことはありません。
いや、それはあなただけではありません。これは、理論的には、長期間使用しないほとんどすべてのものに共通していると思います。学校や大学で学んだすべてのことを思い出してください。期末試験の2週間後には忘れてしまう傾向があります...
これを改善する唯一の方法は、私が知っているように、それを使用することです。しばしば。それはあなたがあらゆるラインとシーンを覚えているテレビCMのようなものです。どうして?あなたはそれらを毎日目にするからです-それを覚えておくためにあなたの脳がそのシナプス(またはそれが何をするものでも)を再配置させる一定の注意喚起。アルゴリズム、メソッド、式、構文など、覚えておきたいすべての知識について同じことができると想像してみてください(私たちは抗議し、テレビ局に表示させるときがきたと思いますthis一種これらの粘着性のあるコマーシャルの代わりに、プログラムの休憩中に役立つものです。)しかし幸いなことに、一度学んだことのほとんどすべてを、より短い時間で再学習できます。
コードを書いているときに、いつかこれを振り返りたいと思う場合は、別のファイルにコピーして、有用なコードスニペットのライブラリを保持してください。これにより、プロジェクト全体を検索する必要がなくなります。また、簡単にアクセスできるように、これらのスニペットを言語と種類(コードは何をするのですか?なぜ保存したのか)の後に配置してください。
私はあなたにそれを保証することができます見た目年齢を重ねるにつれて悪化する:-)しかし、それはあなたが開発に携わる時間が長くなるほど、忘れるべき知識が増えるためです。
一方、あなたはより多くの「直感」を得ます。パターンや特定の問題の解決方法など、言語や環境が異なる古いプロジェクトで学んだことを認識し、現在の状況が異なっていても、それらを利用できます。つまり、私は1年前に書いたコードを常に振り返って、「今日は別の方法で書こうと思います」と思いきや、かなり頻繁に「今日はこれを解決する方法を知っています。より良い。
したがって、特定のAPIのメソッド名やクラス名など、多くのことを忘れる可能性がありますが、通常、スキルはより高いレベルで向上します。
それは以前に私に多くの場合に起こりました。そのため、コードにドキュメントを記述します。
そして時には、あなたはあなたがあなたを助けるためにインターネット上の参照が必要なだけです。ヘルプを探すのはまったく問題ありません。
これはいつも私に起こります。私のその最初の中で起こっているので、私は非常に多くの最も単純なことを忘れてしまいます。名前、誕生日、イライラする会議はすべて砂の中を水のように通り抜けます。しかし、コンピュータ、プログラミング、数学、またはそのようなものに関係することはすべてそのままです。言語、テクノロジー、さらにはプロジェクトを記憶するための最良の方法は、チートシートと書くことです。
私は通常、扱うすべてのことについてqucikリファレンスを持っているので、何が起こっているのかをすぐに思い出すことができます。チートシートにすべてのメモと参照ページ番号を保存しているノートブックも持っています。
コード(短いスニペットからクラス全体まで)については、将来的に再利用する必要があると思われるコードを記述しました。これらすべてを記述および説明する公開プログラミングブログを維持してください。これには多くの利点があります。
通常のブログを書くか、または Refactor My Code または The Code Project のようなプログラミング指向のサイトを使用できます。
しばらく使用しないと、物事を忘れてしまうことがよくあります。構文、キーワード、テクニックなどです。参考として、Dominic O'Breinによる this の本(8倍の世界メモリチャンピオン)を読みました。その本には、思い出すのに役立つテクニックやヒントがいくつかあります。これらをプログラミングに適用するのは必ずしも簡単ではありませんが、いくつかの創造性があれば、物事をリンクし始めて、物事を思い出しやすくすることができます。それは完璧ではありませんが、時間の経過とともに役立つかもしれません。
また、 this の記事を読んでください。私の開発作業に対する想起を改善する方法についていくつかのアイデアを私に与えたのは興味深い読み物です。
Faにとって、私にとって最も便利なツールはマインドマップです。私はそれらをallsortsに使用します。
マインドマップは、さまざまなシナリオで使用できます。新しいことを学ぶとき、確かに私にとって違いがありました。
乾杯。ジャス。